Windows 版 Safari 未在绝对定位的 div 内正确计算 img 高度。该样式在 Chrome 和 Firefox 上运行良好。
HTML:
<div class="image">
<div class="image-inner">
<img src="http://lorempixel.com/400/200" />
</div>
</div>
CSS:
.image {
position: relative;
max-width: 100%;
height: 0;
padding-bottom: 75%;
}
.image-inner {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0;
}
.image img {
width: auto;
max-height: 100%;
margin: 0 auto;
display: block;
}
注意事项:
- 这是对 HTML 的简化。有多个不同大小的图像需要具有相同的高度(因此使用 width:100%;height:auto; 将不起作用)
- 这需要自适应/响应,因此我无法为图像或容器设置明确的宽度或高度。