请解释 line-height 这个 CSS 属性的作用,并说明它支持哪些赋值方式。
考察说明
考察对 CSS 行高概念及不同赋值单位效果的理解。
回答思路
- 【回答框架 1】line-height 用于设置行盒的最小高度,影响文本行在垂直方向上的占用空间,以及行内元素的对齐与间距。它决定了两行文本基线之间的最小距离,但实际行距还受字体度量等影响。
- 【回答框架 2】常见赋值方式有:数字(如 1.5)表示相对于当前字体大小的倍数;长度值(如 20px)为固定值;百分比(如 150%)相对于元素自身字体大小计算;关键字 normal 通常约为 1.2。
- 【回答框架 3】数字和百分比在继承行为上不同:数字会被子元素继承,然后按子元素的字体大小计算;百分比则先计算成绝对值再继承,导致子元素行高可能不符合预期。
- 【回答框架 4】无单位数字能更好地适应字体变化,被推荐用于正文;固定长度适用于需要精准控制布局的场景;百分比需谨慎使用,避免继承造成意外。
- 【回答框架 5】实际渲染行高由字体度量决定,line-height 设定的是行盒高度,但内容可能溢出,需结合视觉检查调整。
- 【关键点 1】line-height 定义行盒最小高度,影响垂直间距与对齐。
- 【关键点 2】赋值方式包括数字、长度、百分比和 normal。
- 【关键点 3】数字继承后按子元素字号计算,百分比先算绝对值再继承。
- 【关键点 4】推荐使用无单位数字以适应字体变化。
- 【关键点 5】百分比和固定长度在继承与缩放时可能有风险。
- 【易错点 1】混淆数字与百分比继承行为,导致子元素行高异常。
- 【易错点 2】忽略字体度量影响,实际行高与设定值有偏差。
- 【易错点 3】将 line-height 等同于固定行距,实际影响更复杂。