您的问题正如在浮动的性质上面指出的那样。您需要重新考虑如何根据列来定位事件。处理这个问题并使用浮动保持布局流畅的一个好方法是创建一个这样的网格,唯一的缺点是一些额外的非语义代码:
/* __row
* A row of columns, we define total page width here */
.row {width:960px; height:100%; margin: 0 auto; position:relative;}
/* __grid
* Master Grid Layout elements */
.col1, .col2, .col3, .col4, .col5, .col6 {
position:relative;
height:100%;
float:left;
margin-left: 2%;
}
使用百分比可以让我们改变整体宽度.row
并扩展我们的列以适应。
.col1 {width: 15%;}
.col2 {width: 32%;}
.col3 {width: 49%;}
.col4 {width: 66%;}
.col5 {width: 83%;}
.col6 {width: 100%; margin-left:0;}
.colFirst {margin-left:0;}
.colClear {clear:both;}
使用它来创建一个 3 列的流体布局:
<div class="row">
<div class="col2 colFirst">
<ul>
<li>1st item</li>
<li>2nd item</li>
</ul>
</div>
<div class="col2">... second column div's / data</div>
<div class="col2">... third column div's / data</div>
<div class="colClear></div>
</div>
这样,您的数据将全部落入列中,并在页面上无缝流动,提供您希望查看的确切方式,并且使用纯 CSS。