gpt4 book ai didi

html - CSS:字体语句导致行高不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 14:03:10 24 4
gpt4 key购买 nike

我无法理解 CSS 中的一件事。

据我所知,line-height 通常用作中间垂直对齐的 hack。在一种情况下它不起作用,只有在彻底的实验之后我才找到原因,这对我来说是相当难以理解和烦人的。

那么问题是什么?

看这个例子:http://jsfiddle.net/ejRA3/

#outer, #outer-bug {
height: 35px;
line-height: 35px;
border: 1px solid black;
}

#outer-bug {
font: bold 15px Arial;
}

#outer {
font-weight: bold;
font-size: 15px;
font-family: Arial;
}

两个 div 具有完全相同的 CSS 属性,它们仅在一件事上有所不同。一个在 font 语句中具有字体属性,而第二个具有三个 font-... 语句。

然而,在带有字体声明的那个中,文本神奇地不在中间。

那么有人可以向我指出原因吗,为什么字体有这种奇怪的效果?或者它只是错误(不太可能发生在所有 3 种主要浏览器中:Chrome、Firefox、Opera)?

感谢所有好的解释或至少是尝试。

最佳答案

这不是错误,这是您声明简写语法重置 line-height

的方式
#outer-bug {
font: bold 15px/32px Arial;
/* ---^--- line-height */
}

Demo

这里有一个方便的图表供引用

enter image description here

Credits for the chart


line-height 是一个可选参数...使用 Firebug,您可以确定您的 line-height 被覆盖了,因为 #outer-bug block 写在 #outer, #outer-bug 之后。

enter image description here

交换它们也能解决问题

Demo (交换属性阻止声明)

关于html - CSS:字体语句导致行高不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21777090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com