在网页布局中我们会经常用到浮动,有了它我们可以更容易地实现我们想要的效果,但浮动过后往往会留下一些隐患。这时,我们通常会做一件事清除浮动,但清除浮动也会经常留下隐患,如下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type='text/css'>
#main{
border: 1px solid #000;
}
#left{
float: left;
width: 100px;
height: 100px;
background-color: #f00;
}
#right{
float: left;
width: 100px;
height: 100px;
background-color: #0f0;
}
</style>
</head>
<body>
<div id="main">
<div id="left"></div>
<div id="right"></div>
</div>
</body>
</html>
效果图如下:
虽然foot中使用clear:both
清除浮动,但是main的高度无法自适应子元素的高度,导致塌陷(箭头所指)。
下面介绍闭合浮动,顾名思义,就是使浮动元素闭合,清除浮动带来的影响。目前较常用的清除浮动的方法为clearfix。具体就是,不用在foot中添加clear:both
,插入如下一行css:
#main:after{
content: '.';
height: 0;
visibility: hidden;
/*display: block;*/
clear:both;
}