0%

清除浮动的方法

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<style>
.parent {
border: 5px solid #fcc;
width: 300px;
}

.child {
border: 5px solid #f66;
width: 100px;
height: 100px;
float: left;
}

.clearfix:after {
content: '';
visibility: hidden;
clear: both;
display: block;
}

.clearfix {
*zoom: 1;
}
</style>

<body>
<div class="parent clearfix">
<div class="child"></div>
<div class="child"></div>
</div>
</body>

父元素设置具体高度

给父元素设置具体高度后,即可清除浮动。但是这样相当于把高度写死了,很不灵活。

父元素结束标签之前插入空元素

1
2
3
4
5
6
7
8
9
10
11
12
13
<style>
.clear {
clear: both;
}
</style>

<body>
<div class="parent">
<div class="child"></div>
<div class="child"></div>
<div class="clear"></div>
</div>
</body>

给父元素添加伪元素(推荐)

1
2
3
4
5
6
7
8
9
10
11
.clearfix:after {
content: '';
visibility: hidden;
clear: both;
display: block;
}

/* 兼容 IE */
.clearfix {
*zoom: 1;
}

clear 属性只有块级元素才有效的,而 ::after 等伪元素默认都是内联水平,这就是借助伪元素清除浮动影响时需要设置 display 为 block 的原因

利用 BFC

1
2
3
.parent {
overflow: hidden;
}

父元素浮动或者绝对定位

浮动

1
2
3
.parent {
float: left;
}

绝对定位

1
2
3
.parent {
position: absolute;
}

参考资料:
https://juejin.cn/post/6844903504545316877
https://www.kancloud.cn/pillys/qianduan/2049767

本文标题:清除浮动的方法

文章作者:Flower-F

发布时间:2021年12月30日 - 20:54

最后更新:2022年01月19日 - 16:40

-------------本文结束,感谢您的阅读-------------

欢迎关注我的其它发布渠道