问题
我们在html布局中往往会遇到这样的问题,在一个div中我们要分为上中下三部分,中间部分要设置多个小的div,这些div需要左右排列,我们会用float设置他们的浮动。而当我们要在下面继续写第三个div时就会发现,下面的第三个div会无视中间部分而和上面的div产生位置关系
例如下面这个例子(我想分成三部分上面是红色块,中间为并列四个黄色块,下面为蓝色块)
style>
.a{
width:100px;
height:200px;
background-color:red;
}
.b{
width:100px;
height:100px;
background-color:yellow;
margin-left:20px;
float:left;
}
.c{
width:100px;
height:200px;
background-color:blue;
}
</style>
<body>
<div class="a"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="c"></div>
</body>
这样写就会出现这样的结果:下面的蓝色块会标准第一个跳过设置了float的中间部分
解决方法
我们只要清除中间float对下面的影响就可以了
.c{
width:100px;
height:200px;
background-color:blue;
clear:both;
}
我们只需把下面div的样式中写入:clear:both即可