我有一个段落标记,我在其他地方定义了一个15px的行高,我在页面的下方还有另一个段落标记,我想让行高达10px左右.有趣的是,它不会让我下降到10px或任何小于那个,但当我将它设置为25px或更高时,行高属性似乎工作.
我通过Chrome浏览器的网络开发者工具(Chrome的Firebug版本)检查了相关的CSS(所有手工编码),但找不到任何相关内容.是否有一个常见的CSS错误,阻止我缩小行高超过一定的最小量?
mhe*_*384 68
我在Firefox和Chrome中都注意到,如果设置HTML5 doctype,则内联元素的最小行高.对于块元素,您可以将行高设置为您想要的任何值,甚至可以使行重叠.
如果未设置HTML5 doctype,则块或内联元素没有最小行高.
小智 23
我遇到了同样的问题,运作良好:
.element { display: block; line-height: 1.2; }
Run Code Online (Sandbox Code Playgroud)
在 IE 8-11、Firefox 38.0.1 和 Chrome 43 中进行测试后,行为是相同的:内联元素具有不会低于的最小行高。看来这个最小高度来自CSS 规范:
在内容由内联级元素组成的块容器元素上,“line-height”指定元素内行框的最小高度。最小高度由基线上方的最小高度和基线下方的最小深度组成,就像每个行框都以具有元素字体和行高属性的零宽度行内框开头。我们称这个想象中的盒子为“支柱”。
如果您想保留内联元素的一些优点,可以使用display: inline-block
. 您也可以使用display: block
. 两者都允许您在我测试的所有浏览器中设置您想要的行高。
两个相关问题供更多阅读:
And*_*ich -12
行高是相对于字体大小而言的,除非声明负边距,否则不能低于该高度。