angular / angular/components

Checkboxes with long labels

未关闭 适合新手
#8,416 40 条评论 53 个 reaction 已指派 0 人 在 GitHub 查看
area: material/checkbox feature P3
主要语言
TypeScript
星标
25k
派生
6.8k
平均合并
1 天 8 小时
30 天内合并 PR
91

描述

#### Bug, feature request, or proposal:
Bug?

#### What is the expected behavior?
Checkboxes with long labels won't word wrap (as it did in earlier versions). (see bottom part of attacjed image)

#### What is the current behavior?
The labels of checkboxes will overflow the containing element. (see top part of attached image) The problem appeared when I upgraded to Angular 5 from 4-something and I pushed up material at the same time. It's possible this behavior was introduced in an earlier version of material than the latest.

#### What are the steps to reproduce?
Just make a checkbox with a long label inside a card or something.

#### What is the use-case or motivation for changing an existing behavior?
I have a checkbox on a login-page with a long text-string about the user agreeing on this and that. When wrapped it's about three lines with the checkbox vertically aligned on the left side.

#### Is there anything else we should know?
I solved it locally by altering _checkbox-theme.scss from line 88:
```
@mixin mat-checkbox-typography($config) {
.mat-checkbox {
font-family: mat-font-family($config);
}
.mat-checkbox-label { // NEW
white-space: initial; // NEW
} // NEW
// TODO(kara): Remove this style when fixing vertical baseline
.mat-checkbox-layout .mat-checkbox-label {
line-height: mat-line-height($config, body-2);
}
}
```
![screendump](https://user-images.githubusercontent.com/5206576/32732086-d3c83424-c88b-11e7-8d83-805e53d500d9.png)

贡献指南

打开贡献指南

调研方向

从 _checkbox-theme.scss_ 第 88 行附近开始,在卡片或类似的容器元素中复现一个带有长标签的复选框。针对报告的 overflow 检查现有的 typography 和 layout 规则,然后验证长标签会换行成多行,并且复选框在左侧垂直对齐。

由索引模型根据 Issue 内容生成。

评估

技术栈
angular, scss, typescript
领域
frontend
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
冷清
描述清晰度
描述清楚
新手友好度
65/100

把新 issue 发到你的邮箱

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