你以为line-height只是个行高?它的继承机制能让你的布局翻车!
🧑🏫 作者:全栈老李
📅 更新时间:2025 年 6 月
🧑💻 适合人群:前端初学者、进阶开发者
🚀 版权:本文由全栈老李原创,转载请注明出处。
今天咱们来聊聊CSS里那个看似简单实则暗藏玄机的属性——line-height。我是全栈老李,一个喜欢把复杂问题讲明白的技术博主。最近在review团队代码时,发现不少同学对line-height的理解还停留在"设置行间距"的层面,这就像以为法拉利只是四个轮子加个壳一样天真(笑)。
从浏览器默认样式说起
打开Chrome开发者工具,查看默认样式表,你会发现浏览器给<body>
设置的默认line-height大约是1.2(具体值因浏览器而异)。这个看似无害的默认值,会在你毫无防备时引发一系列布局问题。
/* 全栈老李提示:浏览器默认样式类似这样 */
body {
line-height: 1.2; /* 这个值会悄悄影响整个文档 */
}
继承机制的"套娃"现象
line-height的继承行为有个反直觉的特点:它继承的是计算值而非声明值。举个例子:
<div class="parent" style="font-size: 20px; line-height: 2;"