ionic-team / ionic-team/ionic-framework
bug(input, select): changing font size with label-placement="floating" causes incorrect label position
- 主要语言
- TypeScript
- 星标
- 52.7k
- 派生
- 13.3k
- 平均合并
- 1 天 14 小时
- 30 天内合并 PR
- 50
描述
### Prerequisites
- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.
### Ionic Framework Version
v7.x
### Current Behavior
The floating label placement of an outlined `` seems buggy in my applications so i debugged in and mentioned that the current implementation is not very consistent and for example breaks if you set for example a different font size.
Atm the label is placed by (select example):
```css
:host(.select-label-placement-floating) .label-text-wrapper {
transform: translateY(100%) scale(1);
}
```
what only works if the label (the `label-text-wrapper` element) has1/3 of the height of the select itself as far as i understand. This stops working if you set a different font size on a input/select.
### Expected Behavior
The implementation should force the label to be always centered in the middle. For example:
```css
:host(.select-label-placement-floating) .label-text-wrapper {
top: 50%;
transform: translateY(-50%) scale(1);
}
```
and then of course reset the top property on other states
### Steps to Reproduce
Change the font size on a md outlined floating label select or input element
### Code Reproduction URL
_No response_
### Ionic Info
Let me know if required
### Additional Information
_No response_
贡献指南
调研方向
首先定位 ion-select 和 ion-input 组件中带边框浮动标签状态的 CSS。通过更改 Material Design 带边框浮动标签控件的字体大小来复现问题,然后比较受影响状态下的标签位置。完成标准是标签在不同字体大小下仍保持居中,同时不破坏其他标签位置。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- css, typescript
- 领域
- design, frontend
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100