我正在尝试使用本文中概述的方法在div中垂直居中文本:http://css-tricks.com/vertically-center-multi-lined-text/
.container {
width: 160px;
margin: 80px auto;
padding: 5px;
height: 60px;
max-height: 60px;
border: 1px solid black;
display: table;
}
.container p {
height: 60px;
max-height: 60px;
display: table-cell;
vertical-align: middle;
text-align: center;
}
<div class="container">
<p>This is a lot of text. A really large amount of text, even. So much text here. And it just keeps going, oh my. Wow - so much text.</p>
</div>
<div class="container">
<p>Here's one line.</p>
</div>
JSFiddle:http://jsfiddle.net/Vc88w/2/
div不得大于指定的60px高度,并且应隐藏任何溢出的文本。当没有足够的文本使div溢出时,CSS表技巧可以正常工作,但是当它太多时会强制div大于60px(第一个例子),这不是我想要的。
除了高度和最大高度之外还有CSS规则可以覆盖CSS表的高度吗?或者,如果在容器div上强制最大高度为60px,我还能如何实现垂直居中?
答案 0 :(得分:2)
是的,您必须在“.container”中将“display:table”更改为“display:block”
.container {
width: 160px;
margin: 80px auto;
padding: 5px;
height: 60px;
max-height: 60px;
border: 1px solid #000;
overflow: hidden;
display: block;
}