CSS 清除浮动的几种方法

效果展示

清除浮动

图片

清除浮动后

图片

原始代码

html 部分

<div class="box1">
  盒子一
  <div class="subBox1">子盒子一</div>
  <div class="subBox2">子盒子二</div>
</div>
<div class="box2">盒子二</div>

css 部分

.box1,
.box2 {
  width: 600px;
}
.box1 {
  background-color: purple;
}
.subBox1,
.subBox2 {
  float: left;
  width: 200px;
  height: 200px;
}
.subBox1 {
  background-color: pink;
}
.subBox2 {
  background-color: aqua;
}
.box2 {
  height: 200px;
  background-color: skyblue;
}

实现方法

空 div 清除

在浮动元素末尾(也就是 子盒子二 的后面)添加一个空的 div 标签,例如:

<div style="clear:both"></div>

缺点:会添加许多无意义的标签,结构语义化较差。

父级使用 after 伪元素

这与上面的空 div 清除的方法是等效的,结构语义化较好。

.box1::after {
  content: "";
  clear: both;
  display: block;
}

父级添加 overflow 属性

可以给浮动元素的父级(也就是 .box1 )添加 overflow 属性设置为除 visible 外的其他值来触发 BFC。

.box1 {
  overflow: hidden;
  /* overflow: auto; */
  /* overflow: scroll; */
}

可能会出现莫名其妙的滚动条或裁剪阴影,这是使用 overflow 带来的一些副作用。

父级添加 display: flow-root

这是一个较为现代的方案,它可以无需 clearfix 小技巧来创建 BFC,在使用上没有副作用。

.box1 {
  display: flow-root;
}

唯一的缺点可能就是兼容性问题,因为它并不像前面的几种解决方案,均可以在所有浏览器中奏效。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/82300.html

(0)
guozi's avatarguozi
上一篇 2024年5月31日 下午3:18
下一篇 2024年5月31日 下午3:21

相关推荐

  • 网站如何防御ddos攻击,如何防止网站被拦截

    互联网的发展给我们的生活带来了很多便利,但同时也带来了一些安全隐患。随着网络攻击的频繁发生,保护网站的安全已成为每个网站所有者必须面对的重要挑战。那么如何保护您的网站免受攻击呢?本…

    行业资讯 2024年5月9日
    0
  • 如何选择适合自己的广州虚拟主机?

    随着互联网的发展,云服务器行业也逐渐成为了当下热门的话题。而在这个行业中,广州虚拟主机更是备受关注。那么,如何选择适合自己的广州虚拟主机呢?或许你会有这样的疑问:什么是虚拟主机?广…

    行业资讯 2024年3月30日
    0
  • 知名网站制作公司

    互联网时代,网站建设已成为企业发展必不可少的一环。然而,如何选择一家适合自己的知名网站制作公司却是许多企业主头痛的问题。今天,我将带你一起探讨什么是网站制作公司?知名网站制作公司有…

    行业资讯 2024年4月17日
    0
  • 如何使用memset函数来初始化数组?

    当我们在编写代码时,经常会遇到需要初始化数组的情况。但是,如何高效地初始化数组却是一个让人头疼的问题。今天,我将向大家介绍一种非常实用的方法——使用memset函数来初始化数组。这…

    行业资讯 2024年3月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注