CSS清除浮动的八种方法

简介: CSS清除浮动的八种方法

我们为什么需要清除浮动,如果我们不清除浮动会发生什么呢?

基础样式,没清除浮动之前代码:

可复制也可以自己手动布局,后可尝试使用下面介绍的方法练习清除浮动

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>不清除浮动会发生什么</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .father {
            width: 400px;
            background-color: red;
        }
        .son {
            width: 150px;
            height: 150px;
            float: left;
            background-color: pink;
        }
        .box {
            width: 200px;
            height: 200px;
            background-color: orange;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">我是浮动后的子元素1</div>
        <div class="son">我是浮动后的子元素1</div>
    </div>
    <div class="box">我是下一个兄弟元素box</div>
</body>
</html>

未清除浮动之前的效果图:

如图所示:不清除浮动会影响布局,因为我们没有给父级高度,跟父级同级的元素会受到影响,因为给子元素添加浮动,浮动之后,子元素会脱离文档流,父级的下一个兄弟元素就会顶上去,浮动可以设置文字围绕

清除浮动后的效果:

让我为大家介绍八种清除浮动的方法吧!本人文笔有限,如有不对的地方可以向我提出,感谢大家!

一、给父级div定义伪类(推荐使用)

这个是清除浮动常用的方法

复制可用

.clearfix::after {
  display: block;
  content: "";
  height: 0;
  overflow: hidden;
  clear: both;
}
.clearfix {
  zoom: 1;
}

切记给浮动的父元素添加

二、clear:both

在浮动尾部添加空div标签,添加上样式clear:both;

.son1 {
  clear:both;
}

三、overflow:hidden

给父级div定义overflow:hidden

overflow:hidden;

四、给父级固定的高度height

注意:不适合用在不确定高度的元素上,比如某宝,一直向下滑,会一直刷新出新的商品

五、父级随子级一起浮动

这种方法还是会影响接下来的布局,不过可以解决父级的问题

六、overflow:auto

给浮动元素父级添加overflow:auto;

七、display:table

给浮动元素的父级div定义为表格display:table

八、br标签

br中有clear属性,添加all可以清除浮动

清除浮动代码大总结,复制可玩:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>清除浮动的八种方法</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        /* 第一种,给父级div定义伪类,父级没设置高度时 */
        /* 记得给浮动元素的父级添加clearfix类名 */
        /* .clearfix::after {
            display: block;
            content: "";
            height: 0;
            overflow: hidden;
            clear: both;
        }
        .clearfix {
            zoom: 1;
        } */
        .father {
            /* 第三种方法给浮动元素父级添加overflow:hidden */
            /* overflow: hidden; */
            /* 第四种方法给父级添加高度 */
            /* height: 150px; */
            /* 第五种方法父级随子级一起浮动 */
            /* float: left; */
            /* 第六种方法给父级添加overflow:auto */
            /* overflow: auto; */
            /* 第七种方法给父级添加display:table */
            /* display: table; */
            width: 400px;
            background-color: red;
        }
        .son {
            width: 150px;
            height: 150px;
            float: left;
            background-color: pink;
        }
        .box {
            width: 200px;
            height: 200px;
            background-color: orange;
        }
        /* 第二种方法 */
        /* .son1 {
            clear: both;
        } */
    </style>
</head>
<body>
    <!-- 第一种方法的给父级添加clearfix -->
    <div class="father"> 
        <div class="son">我是浮动后的子元素1</div>
        <div class="son">我是浮动后的子元素2</div>
        <!-- 第二种方法clear:both; -->
        <!-- <div class="son1"></div> -->
        <!-- 第八种方法 -->
        <!-- <br clear="all"/> -->
    </div>
    <div class="box">我是下一个兄弟元素box</div>
</body>
</html>

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

相关文章
|
2月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
408 0
|
前端开发
css页面顶部底部固定,中间自适应几种方法
【10月更文挑战第22天】css页面顶部底部固定,中间自适应几种方法
|
缓存 监控 前端开发
CSS 提高性能的方法
【10月更文挑战第24天】在实际应用中,还需要根据具体项目的特点和需求,灵活选择和组合这些方法,不断进行优化和改进。同时,随着技术的不断发展,也需要持续关注新的性能优化技巧和最佳实践,以保持在性能优化方面的领先地位。你对 CSS 性能优化还有哪些深入的思考和经验呢?欢迎进一步交流和分享。
|
前端开发 容器
CSS 中几种常用的换行方法
CSS 中几种常用的换行方法
423 1
|
XML 前端开发 JavaScript
jQuery HTML / CSS 方法
jQuery HTML / CSS 方法
118 2
|
前端开发 JavaScript
jQuery css() 方法
jQuery css() 方法
85 3
|
前端开发 JavaScript
jQuery css() 方法
jQuery css() 方法
92 1
|
前端开发 UED
css性能优化的方法
css性能优化的方法
184 0
|
前端开发 容器
css溢出隐藏的五种方法
css溢出隐藏的五种方法
281 1
|
前端开发
CSS绘制三角形的方法
CSS绘制三角形的方法

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    235
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    225
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    164
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    133
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    275
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    408
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    176
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    112
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    190
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    261