angular / angular/components

bug(material/button): incorrect alignment of svg icons

Open
#31,576 5 comments 9 reactions 0 assignees View on GitHub
area: material/button P2
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

### Is this a regression?

- [x] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

20.0.5

### Description

After update to angular/material 20.1.+

Material buttons with icons no longer align properly.

_________________________________________

**Before**

Image

**After**

Image

_________________________________________

**What causing an issue?**

After removing `min-height`, everything works as before.
My icon size is 24px, but with `min-height: fit-content`, the .mat-icon container gets stretched while the SVG icon remains the same size.

For example:
- `.mat-icon: 24px × 29px`
- `svg: 24px × 24px`

This causes vertical misalignment of icons compared to previous versions.

Image

I believe this PR is the cause of this issue.: https://github.com/angular/components/pull/30891
commit -> https://github.com/angular/components/pull/30891/commits/87b6962841454cfde8200b9c9de7ad73079416ae

_________________________________________

### Reproduction

StackBlitz link:
Steps to reproduce:
1.
2.

### Expected Behavior

The `.mat-icon` inside `.mat-mdc-button-base` should remain properly aligned and not stretch vertically.
The mat-icon container should match the size of the SVG icon `(24px × 24px)` when the icon size is set to `24px`.

### Actual Behavior

With `min-height: fit-content;` applied, the .mat-icon container stretches vertically `(e.g., 24px × 29px) `while the SVG icon stays 24px × 24px.
This causes misalignment and extra spacing around the icon compared to previous versions.

### Environment

- Angular: 20.1.2
- CDK/Material: 20.1.2
- Browser(s): Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): macOS

Contributor guide

Open the contributing guide

Research direction

Review the Angular Material button styles around `.mat-mdc-button-base` and `.mat-icon`, then compare the behavior introduced by PR 30891 commit 87b6962841454cfde8200b9c9de7ad73079416ae against version 20.0.5. Reproduce with a 24px SVG icon in Angular/Material 20.1.2 and verify that the container remains 24px × 24px and the icon is vertically aligned.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, css, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.