您应该包装这些div,并将包装设置为width
等于所有孩子的总和width
:
请参阅此小提琴示例!
HTML
<body>
<div id="wrap" class="clearfix">
<div class="test1 floatL">Div 01</div>
<div class="test2 floatL">Div 02</div>
</div>
</body>
CSS
body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.floatL {
float: left;
}
.test1 {
width: 500px;
height: 50px;
background-color: #D9D9D9;
}
.test2 {
width: 700px;
height: 30px;
background-color: #CCC;
}
/* helpers */
.clearfix:before,
.clearfix:after {
content: '\0020';
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
.clearfix:after {
clear: both;
}
.clearfix {
zoom: 1;
}
查询
$(function() {
var sum=0;
$('#wrap > div').each( function(){ sum += $(this).width(); });
$('#wrap').width( sum );
});
这样做的目的是收集 的每个第一个孩子的with#wrap
并将其加起来设置为 的宽度#wrap
。