CSS清楚浮动clear:both
程序员文章站
2022-06-28 18:00:18
今天给大家讲一下清楚浮动,在讲清除浮动前,需要了解什么是浮动,这里我就不给你大家详细介绍浮动了。浮动也就是脱离文档流,脱离文档流了,那父级的宽高就不能被子集撑开,所以我们就需要清楚浮动,废话不多说,我们上代码。
今天给大家讲一下清楚浮动,在讲清除浮动前,需要了解什么是浮动,这里我就不给你大家详细介绍浮动了。
浮动也就是脱离文档流,脱离文档流了,那父级的宽高就不能被子集撑开,所以我们就需要清楚浮动,废话不多说,我们上代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
.box{
width: 1000px;
margin: 0 auto;
border: 8px solid black;
}
.box::after{
content: "";
clear: both;
display: block;
}
.box .left{
width: 50%;
height: 300px;
background-color: red;
float: left;
}
.box .right{
width: 50%;
height: 300px;
background-color: blue;
float: right;
}
</style>
</head>
<body>
<div class="box">
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>
从这里我们可以看到,自己用了浮动,父级的宽高就不能被子集撑开,这样的话布局就会和你想象的不一样。这里有很多种解决办法。
第一种:
在父元素里添加一个div,给添加的div加上清除浮动
<div class="clear"></div>
clear{
clear: both;
}
第二种:
我们可以给父级的div设置高度,这样也可以。
.box{
width: 1000px;
height: 300px;
margin: 0 auto;
border: 8px solid black;
}
第三种
我们可以给父级加上overflow:hidden;属性,这样也可以。
.box{
overflow: hidden;
width: 1000px;
margin: 0 auto;
border: 8px solid black;
}
第四种
我们可以用position: absolute或display: inline-block可以清除浮动。
.box{
/* position: absolute; */
display: inline-block;
width: 1000px;
margin: 0 auto;
border: 8px solid black;
}
其实吧其他四种知道就好,第五种一定要会用,其他四种都是可以清除浮动的,但是他会带来不必要的麻烦,就拿用第二种来说,如果后期该父级需要添加子元素时,我们还要修改父级的高度,这样会带来很多麻烦,第五种也是最实用的一种了。
第五种
用伪元素来清除浮动。我们可以给父级添加伪元素。
.box::after{
content: "";
clear: both;
display: block;
}
本文地址:https://blog.csdn.net/typef/article/details/109635537
推荐阅读
-
css别忘记清除浮动clear:both
-
CSS 浮动清理,不使用 clear:both标签
-
CSS清楚浮动clear:both
-
CSS清楚浮动clear:both的实例代码
-
经验分享:CSS浮动(float,clear)通俗讲解_html/css_WEB-ITnose
-
经验分享:CSS浮动(float,clear)通俗讲解(转载)_html/css_WEB-ITnose
-
css别忘记清除浮动clear:both
-
CSS清除浮动常用方法小结 CSS clear both {overflow:auto;zoom:1;}
-
CSS清除浮动常用方法小结 CSS clear both {overflow:auto;zoom:1;}
-
经验分享:CSS浮动(float,clear)通俗讲解(转载)_html/css_WEB-ITnose