带有 floats 的列非常简单。困难在于让父容器清除浮动的子容器。
HTML:
<div class="container">
<div class="column column-a">
...
</div>
<div class="column column-b">
...
</div>
</div>
CSS:
.container {
background-color: red;
color: white;
width: 520px;
zoom: 1;
}
.container:before,
.container:after {
content: '';
display: table;
}
.container:after {
clear: both;
}
.column-a {
background-color: blue;
float: left;
width: 300px;
}
.column-b {
background-color: green;
float: right;
width: 200px;
}
您应该注意,两列中较短的一个不会延伸到容器的底部。通常,两列的背景在包含元素上垂直重复。
如果您需要填充列,我通常会div.inner
在每个.column
元素中添加元素,但如果您想避免“divitis”,您可以简单地添加:
.column {
box-sizing: border-box;
padding: 20px;
}
对于流体宽度列,您所要做的就是确保您的宽度加起来达到 100%:
.column-a {
width: 80%;
}
.column-b {
width: 20%;
}