我不想使用JS,只有css解决方案。
我希望包含div内部的列能够同样适合内部,即每个列都是容器宽度的三分之一。我在这里实现了这一点 - http://jsfiddle.net/yFxZX/
然而,除此之外,我还希望列之间有10px margin
,第一列接吻容器的左边缘,右列接吻容器的右边缘。看下面的图片是为了粗略模拟。
当浏览器重新调整大小或父容器更改宽度时,我希望列相应地调整大小以填充空间,但它们之间的边距保持固定为10px。
这可以在没有JS的情况下完成吗?
答案 0 :(得分:7)
使用负边距:
.container {
background: green;
overflow: auto;
}
.inner {
padding-left: 20px;
}
.box {
width: 33.3%;
background: red;
float: left;
margin-right: 10px;
}
.first {
margin-left: -20px;
}
.last {
width: 33.4%;
margin-right: 0;
/*float:right;*/
}
img {
max-width: 100%;
height: auto;
width: auto\9;
/* ie8 */
}
答案 1 :(得分:0)
在Html中:
<div class="container">
<div class="box">
<div class="box-content">
First
</div>
</div>
<div class="box">
<div class="box-content">
SECOND
</div>
</div>
<div class="box last">
<div class="box-content">
Last
</div>
</div>
</div>
在Css中:
.container {
background: green;
overflow: auto;
}
.box {
width: 33.3%;
float: left;
}
.box.last {
width: 33.4%;
}
.box .box-content {
margin-right: 10px;
background: red;
}
.box.last .box-content {
margin-right: 0px;
background: red;
}
如果你想让你的盒子有相同的高度 在css中添加:
.box .box-content {
margin-right: 10px;
background: red;
margin-bottom: -1000px;
padding-bottom: 1000px;
}