bug(material/button): incorrect alignment of svg icons
- Ngôn ngữ chính
- TypeScript
- Star
- 25k
- Fork
- 6.8k
- Merge trung bình
- 1 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 91
Mô tả
### 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
Hướng dẫn đóng góp
Hướng nghiên cứu
Xem xét các kiểu nút của Angular Material xung quanh `.mat-mdc-button-base` và `.mat-icon`, sau đó so sánh hành vi được giới thiệu bởi commit 87b6962841454cfde8200b9c9de7ad73079416ae của PR 30891 với phiên bản 20.0.5. Tái hiện bằng một biểu tượng SVG 24px trong Angular/Material 20.1.2 và xác minh rằng container vẫn giữ kích thước 24px × 24px, đồng thời biểu tượng được căn chỉnh theo chiều dọc.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- angular, css, typescript
- Lĩnh vực
- frontend
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 42/100