bug(material/button): incorrect alignment of svg icons
- Langage dominant
- TypeScript
- Étoiles
- 25k
- Forks
- 6.8k
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Examinez les styles des boutons Angular Material autour de `.mat-mdc-button-base` et `.mat-icon`, puis comparez le comportement introduit par le commit 87b6962841454cfde8200b9c9de7ad73079416ae de PR 30891 avec la version 20.0.5. Reproduisez-le avec une icône SVG de 24px dans Angular/Material 20.1.2 et vérifiez que le conteneur reste de 24px × 24px et que l’icône est alignée verticalement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, css, typescript
- Domaine
- frontend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100