bug(material/button): incorrect alignment of svg icons
- 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**
**After**
_________________________________________
**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.
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
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