【发布时间】:2015-01-18 20:35:23
【问题描述】:
我一直试图在一个 div 中垂直居中一些文本,经过一段时间浏览 StackOverflow 我终于想出了这个:
.frame {
height: 500px;
border: 2px solid black;
}
.helper {
display: inline-block;
height: 100%;
vertical-align: middle;
}
.centerText {
display: inline-block;
vertical-align: middle;
}
<div class="col-md-8">
<div class="frame">
<span class="helper"></span>
<div class="centerText">
<p>This is a short paragraph.</p>
<br />
<p>More stuff.</p>
<br />
<br />
<p>etc.</p>
</div>
</div>
</div>
当我有一个简短的段落时,这很好用,如上所述。但是我尝试更改段落,发现当我将其写得足够长以至于不得不进入另一行时,整个段落被移到了“框架”div的下方。
请看这里:fiddle
如果我去掉跨度,长段落将很好地转到框架内的下一行,但它不再垂直居中。
这里发生了什么?我怎样才能有一个不会使所有文本都被推出 div 的长段落?
【问题讨论】:
标签: html vertical-alignment css