请不要使用 Jquery 或使用负边距之类的技巧。HTML/CSS 就好了:)
根据任何进一步的布局要求,您可以执行以下两项操作之一:
1)只需从“.tiles”容器中删除 50px 块,将它们中的每一个向左浮动并将“.tiles”的 100px 宽度限制更改为 50px
fiddle.net/HHeSW/3/
HTML
<div class="tiles">
<div class="tile25x50">1</div>
<div class="tile25x50">3</div>
</div>
<div class="tile50x50">2</div>
CSS
.tiles {
float: left;
width:50px;
}
.tile25x50 {
width: 50px;
height: 25px;
background-color: red;
float:left;
}
.tile50x50 {
width: 50px;
height: 50px;
background-color: blue;
float: left;
}
2) 为每列添加一个容器 div。您可以为这些重用相同的列类,甚至放弃对“.tiles”和列类的宽度限制,以提高未来的灵活性:)
http://jsfiddle.net/wurwH/3/
HTML
<div class="tiles">
<div class="column">
<div class="tile25x50">1</div>
<div class="tile25x50">3</div>
</div>
<div class="column">
<div class="tile50x50">2</div>
</div>
</div>
CSS
.tiles {
width:100px;
}
.column{
float:left;
}
.tile25x50 {
width: 50px;
height: 25px;
background-color: red;
clear:left;
}
.tile50x50 {
width: 50px;
height: 50px;
background-color: blue;
}