我正在创建一个图像库,其中图像在整个页面中居中。水平部分当然容易,但垂直部分就麻烦了。
我熟悉使用display: table-cell;
and vertical-align: middle;
(或 using line-height
,但在使用它们以及试图让元素填充页面时没有成功。
<div id='contain'>
<img src='url' />
</div>
我无法设置 line-height ,#contain
因为容器的高度会根据窗口的大小而变化。
如果我绝对定位#contain
,则应用vertical-align:middle
不再垂直居中图像,无论我如何设置框的大小。
如果我尝试#contain
在没有绝对定位的情况下调整大小以填充窗口,width: 100%
并且height: 100%
(或使用最小宽度/最小高度)不填充页面。同样,我无法指定确切的值,因为它们会有所不同。
我知道我总是可以将图像设置为背景#contain
(或使用 JavaScript 来计算高度),但如果有一种 CSS/HTML 方法可以在没有表格的情况下解决这个问题,我更愿意使用它。