clear清除浮动
1、作用:
规定元素的某一侧不允许存在浮动元素
2、值:
3、应用:
清除其他浮动元素对其产生的影响
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>清除浮动的应用</title>
<style>
#box-a{
width: 200px;
height: 200px;
background-color: red;
float: left;
} #box-b{
width: 300px;
height: 300px;
background-color: #ff0;
float: right;
} #box-c{
width: 800px;
height: 100px;
background-color:blue;
clear:right;
}
</style>
</head>
<body>
<div id="box-a">box a</div>
<div id="box-b">box b</div>
<div id="box-c">box c</div>
</body>
</html>
4、原理:
设置了clear的元素将不再像前一个浮动元素对齐,换行重新开始。
5、实际应用
解决网页中的“塌陷”问题
什么是塌陷:如果父元素只包含浮动元素,那么在未设置高度的同时,则父元素高度塌缩为零。(PS:浮动元素只会影响跟它同级别的元素,由于父元素高度塌陷为0,则跟父元素同级别的且位于父元素后面的其他元素位置也会发生上移)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>容器的塌陷</title>
<style>
.wrap{
border:10px red solid;
} .main{
width:30%;
background-color:#ff0;
height:150px;
} .aside{
width:50%;
background-color:#76D8DD;
height: 200px;
} .main,.aside{
float: left;
} .div1{
background-color: blue;
border: solid 1px green;
height:100px;
} .clearfix{
/*zoom属性:IE浏览器的专用属性,是IE浏览器自己写的,火狐浏览器不用写这一句,
这一句是专门针对老版本的IE浏览器所写的,为了兼容*/
zoom: 1;
} /* :after 伪对象选择符—在这个对象被浏览器渲染后添加一定的内容 */
.clearfix:after{
content: ".";/*content属性:添加的内容写在这里属性的值里面,这个属性是专门配合伪对象滴,必须写!就算值为空也必须写!*/
display: block;/*将添加进去的内容转换为块状元素*/
visibility:hidden;/*visibility:可视化属性,控制元素是否可见,但无论是否可见,都保留其物理空间(与display:none的比较)*/
height: 0;/*将添加进去的内容高度设置为0,消除其占位*/
clear: both;/*将添加进去的内容作为清除浮动的对象,实现外围容器中有内容存在,因此可以自动判定高度,解决塌陷*/
}
</style>
</head>
<body>
<div class="wrap clearfix">
<div class="main">main</div>
<aside class="aside">aside</aside>
</div>
<div class="div1"></div>
</body>
</html>