【发布时间】:2020-02-09 23:16:01
【问题描述】:
很抱歉打死马,但我一生都无法理解为什么以下内容不起作用。
- 设置
line-height: 50px - 设置
vertical-align: top - 据我了解,这应该使 line-box 高 50 像素,然后
vertical-align应该 according to MDN 能够在其中移动内联元素。
具体来说:
以下值垂直对齐元素相对于 整行:
底部
将元素的底部及其后代与底部对齐 整条线。
这两个我都试过了:
<span style="line-height: 50px; border: 1px solid red; vertical-align: bottom">Some text</span>
还有这个:
<div style="line-height: 50px; border: 1px solid yellow">
<span style="border: 1px solid red; vertical-align: bottom">Some text</span>
</div>
这是我希望将跨度定位在底部的最后一个版本。它说 line-box 应该是 50px,然后在子 span 上使用 vertical-align。
PS:请不要只说“使用 flexbox”或类似的话。我想了解内部工作原理/概念上为什么上面没有将跨度定位在行的底部。
【问题讨论】:
-
来自developer.mozilla.org/en-US/docs/Web/CSS/vertical-align "请注意,vertical-align 仅适用于 inline 和 table-cell 元素:您不能使用它来垂直对齐块级元素。"
-
伙计们,请在回复之前阅读帖子/知道它是如何工作的。如果您愿意,您可以尝试将跨度包围在另一个跨度中,并将 line-height 放在上面,或者将 line-height 放在 span 本身上,没有区别。 @Dan 我没有在块元素上使用垂直对齐,我在
span上使用它,其中行框比元素本身高。 -
@dippas,你能解释一下这个问题是怎么重复的吗?
-
@dippas 它不一定是块元素。 vertical-align 适用于内联元素,OP 知道如何垂直对齐,但是行高混淆,这就是我们没有达到预期效果的原因。这不是关于“如何对齐”,而是“为什么对齐没有按预期工作”
标签: html css vertical-alignment