[英]`vertical-align: middle` doesn't do what I expected
如果我在应用中的表格单元格中,则使用CSS规则vertical-align: middle;
到该单元格,则所有文本在该单元格中垂直居中。
<table>
<tr>
<td style="vertical-align: middle;">
I am vertically centered text!
</td>
</tr>
</table>
但是,如果我将此内容应用于其他元素,则其功能有所不同或根本没有。 例如:
<div style="width: 300px; height: 400px; vertical-align: middle;">
I am not vertically centered, but I wish I was :(
</div>
但是,如果我将其应用于图像标签,则它将调整图像与其他内联元素的方向。
我的问题是,如何在一个简单的DIV中完成垂直中心对齐,就像它在表格单元格中的行为一样?
添加display: table-cell
到您的div。
jsFiddle: http : //jsfiddle.net/7FYBa/20/
<div class="outer" style="position:absolute;">
<div class="inner" style="display:table-cell; vertical-align:middle;">
I am not vertically centered, but I wish I was :(
</div>
</div>
但是当然。 垂直居中在CSS中非常时髦。
我建议您阅读一些垂直居中技术。 不同的元素和考虑因素等同于不同的方法。 这是我建议的一篇文章 。
您可以使用jQuery http://jsfiddle.net/7FYBa/30/
当您增加line-height
时, vertical-align
适用于none-table元素。
#elem {
vertical-align: middle;
line-height: 100px;
}
但是当然,使用line-height
布局并不是那么容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.