【发布时间】:2016-10-28 07:35:33
【问题描述】:
我试图按照 flexbox 示例进行操作,但我的 line-height 不适用于此问题。
文本应该垂直居中,但事实并非如此。它仅水平居中保持在顶部。
在代码 sn-p 中,它似乎工作正常,但只是为了证明这很奇怪,我将给出我所看到的图片。
我在 Chrome 和 IE 中都对此进行了测试,但它不是垂直居中的。
我确实更改了 sn-p 中的大小,但我认为不会这样做。
.flex-container {
display: flex;
flex-flow: row wrap;
justify-content: space-around;
padding: 0;
margin: 0;
list-style: none;
display: -webkit-box;
display: moz-box;
display: -ms-flexbox;
display: -webkit-flex;
-webkit-flex-flow: row wrap;
}
.flex-item {
background: tomato;
padding: 5px;
width: 50px;
height: 50px;
margin-top: 10px line-height: 50px;
color: white;
font-weight: bold;
font-size: 3em;
text-align: center;
}
<ul class="flex-container">
<li class="flex-item">1</li>
<li class="flex-item">2</li>
<li class="flex-item">3</li>
<li class="flex-item">4</li>
<li class="flex-item">5</li>
<li class="flex-item">6</li>
</ul>
【问题讨论】:
-
关闭
margin-top: 10px -
对不起....我希望文本垂直和水平居中:/我只是想使用 line-height 来实现这一点但是其他人已经回答了
-
@Shinji-san,它必须以
line-height为中心吗?由于您使用的是 flexbox,因此有一些 flex 属性可以垂直和水平居中。 -
@Michael_B 我只是按照这个例子。但是既然你提到了它,你会怎么做,因为项目是弹性框的孩子,但孩子中的文本不是弹性项目,所以我不确定我会使用哪个属性。
-
弹性项目也可以是弹性容器。您可以通过使父元素成为弹性容器来将弹性属性应用于元素。看我的回答。另见这篇文章:stackoverflow.com/a/37844240/3597276
标签: html css flexbox centering