我已经纠结了一段时间了,我的客户坚持认为通过CSS手动设置图像的位置不是一个可以接受的解决方案。基本上,我试图垂直居中的父DIV(它有一个静态的高度)的图像。
我正在考虑通过PHP计算图像大小,然后为每个图像设置CSS规则,但想象一下这太复杂了。
有人可以看看这里的演示并建议一个潜在的解决方案吗?
谢谢!
你不需要在这里计算,CSS有解决方案,诀窍是使用display: table-cell;
与vertical-align: middle;
div {
display: table-cell;
height: 300px;
border: 1px solid green;
vertical-align: middle;
}
这是<table>
元素的一个例子。这可以说是表格数据。
当您这样做时,您可以给表格单元格一个vertical-align
:
table td { vertical-align: middle; }
如果你想避免使用表格样式,你可以这样做:
div {
height: 300px;
line-height: 300px;
}
div img {
vertical-align: middle;
}
http://jsfiddle.net/x5j43o08/11/