在下面这个“流体”网格布局中,单元格之间有固定的间距。当容器宽度改变时,有人能解释一下为什么底部左侧图像上面的间距会有所不同吗?如下是示例:
问题:
约1120px宽度(裁剪):
HTML:
CSS(层叠样式表):
问题:
- 这是为什么?我没考虑到什么吗?
- 还有,你能否建议一种更好的使用CSS实现此类网格的方法?图片必须保持比例,并且应该在IE8中工作。
![width ~200px](https://istack.dev59.com/BdTFL.webp)
![width ~1120px](https://istack.dev59.com/mKaha.webp)
<div class="container">
<div class="col1"><img src="http://placekitten.com/200/200"/></div>
<div class="col2"><img src="http://placekitten.com/200/200"/></div>
<div class="col3">
<img src="http://placekitten.com/200/200"/>
<img src="http://placekitten.com/285/678"/>
</div>
<div class="col4"><img src="http://placekitten.com/875/532"/></div>
</div>
CSS(层叠样式表):
.container{
outline: 2px solid #000;
margin: 30px auto;
overflow: auto;
font-size: 0;
position: relative;
padding-left: 20px;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
img{
width: 100%;
}
.col1, .col2, .col3{
width: 37.5%;
float: left;
}
.col1{
margin-left: -20px;
}
.col1, .col2{
margin-right: 10px;
}
.col3{
width: 25%;
}
.col3 img:first-child{
margin-bottom: 10px;
}
.col4{
position: absolute;
bottom: 0;
left: 0;
width: 75%;
padding-right: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
}