【发布时间】:2014-12-13 14:21:15
【问题描述】:
我正在尝试找出一种方法来使响应式图像行具有相同的高度,而不管每个图像的纵横比或容器的宽度如何。实际图像文件的高度相同,但宽度不同。问题是当容器变小时,在某些宽度下舍入误差会导致图像在高度上相差一个或两个像素。这是一个小提琴http://jsfiddle.net/chris_tsongas/vj2rfath/,调整结果窗格的大小,您会看到在某些宽度处图像不再具有相同的高度。
我正在对来自 CMS 的内容进行样式设置,因此对标记的控制很少,并且只能使用 css 而不是 js。我尝试将图像高度设置为 100%,但这只会使图像成为其原始大小的 100%,而不是容器高度的 100%。这是上面链接的小提琴中的 html 和 css:
<div class="table">
<div class="row">
<div class="cell">
<img src="http://placehold.it/600x400" />
</div>
<div class="cell">
<img src="http://placehold.it/300x400" />
</div>
</div>
</div>
.table {
display: table;
width: 100%;
}
.row {
display: table-row;
}
.cell {
display: table-cell;
}
img {
max-width: 100%;
}
【问题讨论】:
-
您可以通过将图像垂直对齐到顶部来减少此问题,但它有时仍会发生在第一张图像的底部 - 我尝试修复此问题一段时间但没有找到解决方案
-
@retober 你对垂直对齐顶部的想法让我想到了这个解决方法jsfiddle.net/5q96wpjt。我这样做了,然后在每个单元格下方添加了一个伪元素,以隐藏任何高度差异。不知道我是否应该回答这个问题。
-
不错的解决方案 - 如果它回答了您的问题并解决了您的问题,那就是一个答案。但在 Chrome 上,有时我仍然会看到一些高度差异。
标签: css responsive-design