我试图理解为什么line-height CSS属性将文本垂直放置在此按钮的中间:
.btn-order {
width: 220px;
height: 58px;
font-size: 24px;
padding: 0;
text-align: center;
vertical-align: middle;
line-height: 58px;
border: 1px solid black;
}<div class="btn-order">Complete Order</div>
发布于 2012-01-10 14:40:04
line-height属性实际上是在文本上方和下方设置一个29px (29 + 29 = 58)文本行"Complete Order“。如果您在此文本下面添加了另一行文本,您会发现它位于此文本下面的58px。您在此处设置行高只是为了使文本居中。
这里有一个很好的幻灯片演示,可以帮助你更好地理解这个概念。line-height
下面是一个使用我正在讨论的代码的示例:http://jsfiddle.net/YawDF/14/
通过将line-height设置为58px,您将告诉浏览器在文本行的上下保留一半,从而在每行之间创建一个'58px‘的间距,而在第一行上方只有一个'29px’的间距。
附注:在您所展示的代码中,您对vertical-align: middle的使用是无用的。这个可以一起拿出来。
发布于 2012-01-10 14:02:42
这是设计好的。如果CSS解析器(即浏览器)不知道你的文本有多高,他就不能正确地垂直对齐你的文本。
注意,line-height属性有一个默认值。
发布于 2012-01-10 14:26:53
行高定义使段落看起来整齐的文本高度,因此垂直对齐相对于行高有效。当您增加行高时,它会增加高度,这样您就可以更清楚地看到文本垂直对齐的效果。
把这个当作我们孩子在托儿所课堂上用来学习英语-writing的笔记本。
https://stackoverflow.com/questions/8799164
复制相似问题