文章目录
1.基础知识
为什么要清除浮动
- 由于父盒子在动态情况下不方便给高度,但是盒子浮动在不占位置的情况下会使得父盒子高度变为0,就会影响下面的标准流盒子
清除浮动的方法
- 额外标签法
- 父级添加overflow属性
- 父级添加after属性
- 父级添加双伪元素
2.清除浮动的方法
1.额外标签法(额外标签法.html)
- 这个新增加的盒子必须是块级元素,不能是行内元素,不然就前功尽弃了
- 这个方法就是在最后一个浮动的子元素后面添加一个额外标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.damao {
float: left;
width: 200px;
height: 200px;
background-color: purple;
}
.ermao {
float: left;
width: 200px;
height: 200px;
background-color: pink;
}
.clear {
clear: both;
}
.box {
width: 800px;
margin: 0 auto;
border: 1px solid blue;
}
.footer {
height: 200px;
background-color: black;
}
</style>
</head>
<body>
<div class="box">
<div class="damao">大毛</div>
<div class="ermao">二毛</div>
<div class="ermao">二毛</div>
<div class="ermao">二毛</div>
<div class="ermao">二毛</div>
<div class="ermao">二毛</div>
<div class="clear"></div>
</div>
<div class="footer">
</div>
</body>
</html>
最终效果
2.父级添加OVERFLOW
在div的父结点上(.box)添加overflow:auto
3.使用after伪元素(大厂常用)
HTML源代码(伪元素.html)
- 优点:没有增加标签,结构更加简单
- 缺点:需要照顾低版本的浏览器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.clearfix:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {
/* IE67专有 */
*zoom: 1;
}
.damao {
float: left;
width: 200px;
height: 200px;
background-color: purple;
}
.ermao {
float: left;
width: 200px;
height: 200px;
background-color: pink;
}
.clear {
clear: both;
}
.box {
width: 800px;
margin: 0 auto;
border: 1px solid blue;
/* overflow: auto; */
}
.footer {
height: 200px;
background-color: black;
}
</style>
</head>
<body>
<div class="box clearfix">
<div class="damao">大毛</div>
<div class="ermao">二毛</div>
<div class="ermao">二毛</div>
<div class="ermao">二毛</div>
<div class="ermao">二毛</div>
<div class="ermao">二毛</div>
</div>
<div class="footer">
</div>
</body>
</html>
4.使用after双伪元素
HTML源代码(双伪元素.html)
在CSS或者HTML文件的style中加上
.clearfix:before,
.clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}
写在最后
注:上述笔记均来自黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+web前端视频教程 这一课程的学习记录,主要供自己的学习分享
各位看官,都看到这里了,麻烦动动手指头给博主来个点赞8,您的支持作者最大的创作动力哟! <(^-^)>
才疏学浅,若有纰漏,恳请斧正
本文章仅用于各位同志作为学习交流之用,不作任何商业用途,若涉及版权问题请速与作者联系,望悉知