问题:
业务需求实现某段内容在指定大小的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>