如何垂直对齐浮动div中的文本?例如:我有一个固定高度的动态内容。如果内容小或大,它必须自动垂直对齐。
谢谢
表格单元格是最简单的解决方案。
Javascript 是一种替代方法(测量 div 的大小和文本大小,然后调整填充、行高或其他)。
编辑:或者这个很棒的CSS:
CSS
div#container {
border: solid 1px;
height: 300px;
}
div#content {
border: solid 1px;
}
div#balance {
border: solid 1px;
/* gotta be 100% */
height: 100%;
}
div.valign {
/* firefox 2 */
display: -moz-inline-box;
/* everybody else */
display: inline-block;
vertical-align: middle;
}
/* IE 6 and 7 hack */
html* div.valign {
display: inline;
}
HTML
<div id="container">
<div id="balance" class="valign"></div>
<div id="content" class="valign">
Blah blah blah blah<br/>
Blah blah blah blah<br/>
Blah blah blah blah<br/>
Blah blah blah blah<br/>
Blah blah blah blah
</div>
</div>
一段时间以来一直想写一篇关于这个的博客文章,我认为是时候了。
<div style="display: table-cell; vertical-align: middle;">I'm in the middle!</div>
Chris Coyier 就此写了一篇出色的教程:http ://css-tricks.com/vertically-center-multi-lined-text/
我自己用过,效果很好。
我以前遇到过这个问题。我会引用专家的话,所以我不会捏造这个: “......内部物体绝对位于区域高度的一半。然后向上移动其高度的一半。”
这可以用 % 而不是精确像素来完成,以防数据是从数据库生成的并且高度随每一页而变化。
来源:这里
演示:链接在上面的页面上
这是我的第一个答案...
您是否尝试过垂直对齐:中间;?