【发布时间】:2014-07-02 13:58:03
【问题描述】:
看看这个小提琴
- 为什么这在 Firefox 和 chrome 中看起来不同(文本对齐方式不同)
- 如何使 inner:before 元素中的文本垂直对齐,最好没有行高?
dom 看起来像
<div class="middle">
<div class="inner"> Small text </div>
</div>
css 看起来像
.middle {
display: inline-block;
border: 1px solid black;
height: 150px;
vertical-align:middle;
}
.middle:before {
content: '';
height: 100%;
display: inline-block;
vertical-align:middle;
}
.inner {
display:inline-block;
vertical-align: middle;
font-size: 25px;
/* height: 30px; */
text-align:center;
}
.inner:before {
content: "Big Text";
font-size: 50px;
display:inline-block;
margin-right: 20px;
vertical-align: middle;
border: 1px solid red;
height: 90px;
}
【问题讨论】:
-
您能否更详细地解释一下(草图?)您希望两个文本元素如何相互定位?那里的边框是用于样式或演示的吗?
-
我刚刚检查了 chrome 和 FF 中的小提琴 - 它们看起来都一样
-
@Danield 我看到和你一样 Chrome 和 FF 渲染一样。
-
还有,为什么需要在inner:before上设置
height:90px -
仔细看——在 FF 中,大文本比 chrome 更靠近顶部边框。最终目标是所有东西都垂直居中。
标签: html css vertical-alignment