【发布时间】:2018-01-15 22:15:32
【问题描述】:
为什么在我为 flex 容器设置高度后,文本不再垂直居中?我该如何解决这个问题?
ul {
display: flex;
list-style: none;
background: green;
width: 400px;
align-items: center;
}
ul li {
flex: 50%;
}
ul.fail {
background: red;
}
ul.fail li {
height: 100px;
}
<ul>
<li>I am some text</li>
<li>I am some more text I am some more text I am some more text</li>
</ul>
<ul class="fail">
<li>I am some text</li>
<li>I am some more text I am some more text I am some more text</li>
</ul>
【问题讨论】:
-
其实
li还在中间,你可以看到,如果你给li元素上色的话。在提到高度之前,li取其内容的高度,因此内容(实际上是 flex 元素的孙子)位于中心。因此,您要么将 flex 应用于li元素,要么移除高度。
标签: html css flexbox centering