-1

我已经搞砸了一段时间,我的客户坚持认为通过 CSS 手动设置图像的位置不是一个可接受的解决方案。基本上,我试图将父 DIV(具有静态高度)中的图像垂直居中。

我正在考虑通过 PHP 计算图像大小,然后为每个图像设置 CSS 规则,但想象这过于复杂了。

有人可以看看这里的演示并提出潜在的解决方案吗?

谢谢!

4

3 回答 3

3

你不需要在这里计算东西,CSS 可以解决所有问题,诀窍是使用display: table-cell;withvertical-align: middle;

CSS

div {
    display: table-cell;
    height: 300px;
    border: 1px solid green;
    vertical-align: middle;
}

演示

于 2013-05-07T06:22:29.580 回答
1

这是<table>元素的情况。可以说是表格数据。

当你这样做时,你可以给表格单元格一个vertical-align

table td { vertical-align: middle; }
于 2013-05-07T06:23:42.513 回答
0

如果你想避免使用表格样式,你可以这样做:

div {
    height: 300px;
    line-height: 300px;
}
div img {
    vertical-align: middle;
}

http://jsfiddle.net/x5j43o08/11/

于 2018-08-30T15:01:02.943 回答