【发布时间】:2017-01-05 16:47:06
【问题描述】:
我认为这个问题很常见,并在 SO 本身中找到了它,但找不到如何解决这个问题。
问题:
当您调整窗口大小时,您会注意到两个图像的高度有时会相差 1px(这是浏览器调整尺寸时的预期)。
如何“修复”这个 UI 问题?我知道我可以通过使用flexbox 来做到这一点。但我想有一个更好的解决方案。你们能跳进去吗?
table{
width:100%;
border-collapse: collapse;
}
img{
display: block;
width: 100%;
}
<table>
<tr>
<td><img src="http://placehold.it/100x100"/></td>
<td><img src="http://placehold.it/100x100"/></td>
</tr>
</table>
当我使用display: table时,甚至在这里:
.wrapper{
width:100%;
display: table;
}
.wrapper div{
display: table-cell;
}
img{
display: block;
width: 100%;
}
<div class="wrapper">
<div><img src="http://placehold.it/100x100"/></div>
<div><img src="http://placehold.it/100x100"/></div>
</div>
编辑: 这个问题在 Firefox 浏览器中不存在,但在 Chrome 中存在。
请注意,当我使用 flexbox 时,问题不存在:
body{
margin: 0;
}
.wrapper{
width:100%;
display: flex;
}
.wrapper div{
flex: 1;
}
img{
display: block;
width: 100%;
}
<div class="wrapper">
<div><img src="http://placehold.it/100x100"/></div>
<div><img src="http://placehold.it/100x100"/></div>
</div>
或使用浮点数和内联块:
body{
margin: 0;
}
.wrapper{
width:100%;
display: block;
}
.wrapper div{
display: inline-block;
float: left;
width:50%;
}
.wrapper:after{
content: '';
display: inline-block;
clear:both;
}
img{
display: block;
width: 100%;
}
<div class="wrapper">
<div><img src="http://placehold.it/100x100"/></div>
<div><img src="http://placehold.it/100x100"/></div>
</div>
【问题讨论】:
-
表格用于表格数据,您应该使用 flexbox 或其他 css 选项来处理图像
-
实际上我正在寻找除了我在问题中提到的 flexbox 之外的解决方案
-
flex 是您的 html 代码描述的最佳选择
-
@yousefsami
padding不起作用-尝试调整浏览器大小 -
img { width: calc(100% + 2px); }?
标签: html css google-chrome firefox