Form field and button in the same row but inconsistent height across variants of form field
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
#### Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/fork/components-issue
would like to implement row with form fields and button with same height.

Steps to reproduce:
1. https://angular-ivy-qdy6pn.stackblitz.io
2. Pure angular stack ( no custom styles) angular , material , flex
#### Expected Behavior
What behavior were you expecting to see?
it requires to write lot of custom styles for each variant and button. ( not maintainable)
one custom style should work across all variants of form fields and should handle height of buttons and fom-field.
#### Actual Behavior
What behavior did you actually see?

.mat-form-field-appearance-legacy .mat-form-field-wrapper {
padding-bottom: 1.25em;
}
.mat-form-field-appearance-standard .mat-form-field-flex {
padding-top: .75em;
}
.mat-form-field-appearance-fill .mat-form-field-flex {
border-radius: 4px 4px 0 0;
padding: .75em .75em 0 .75em;
}
.mat-form-field-appearance-outline .mat-form-field-infix {
padding: 0.75em 0 0.75em 0 !important;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
padding-top: 0.75em !important;
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
padding-bottom: 1.75em;
}
#### Environment
- Angular:
- CDK/Material:
- Browser(s):
- Operating System (e.g. Windows, macOS, Ubuntu):
Contributor guide
Research direction
Start with the linked StackBlitz reproductions and compare the legacy, standard, fill, and outline form-field variants with a button in the same row. Review the listed .mat-form-field-appearance-* selectors and determine whether a shared component style can align their heights without per-variant custom rules. Done means the variants and button have consistent row height using one maintainable style.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100