CSS:div内容水平居中/垂直居中设置(非line-height和padding方法)
问题:
业务需求实现某段内容在指定大小的div内居中(水平居中+垂直居中)显示。
最初的实现方法通过设置line-height与外层相同div height相同实现,但内容过长时导致如下图异常状况。
解决:
采用模拟table显示的方式处理,通过设置line-height或者padding的方式在内容过长时都会有文字长度溢出的状况发生。
注意:
- 外层设置宽度、display: table;
- 内层设置 display: table-cell; vertical-align: middle;
<div style="width: 300px; height:300px; text-align: center; display: table; background-color: #888; color: #FFF;">
<div style="display: table-cell; vertical-align: middle;">
<h4>这是一段很长很长的话!为了体现折行还要讲好多好多哦!</h4>
</div>
</div>