ionic-team / ionic-team/ionic-framework

bug(input, select): changing font size with label-placement="floating" causes incorrect label position

未关闭
#27,194 12 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
package: core type: bug
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。