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>

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/191616.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Java] 阿里一面~说一下ArrayList 与 LinkedList 区别

文章目录 是否保证线程安全底层数据结构插入和删除是否受元素位置的影响是否支持快速随机访问内存空间占用&#xff1a; 是否保证线程安全 ArrayList 和 LinkedList 都是不同步的&#xff0c;也就是不保证线程安全&#xff1b; 底层数据结构 ● ArrayList 底层使用的是 Obje…

常见树种(贵州省):022绣线菊、月月青、金合欢、胡枝子、白刺花

摘要&#xff1a;本专栏树种介绍图片来源于PPBC中国植物图像库&#xff08;下附网址&#xff09;&#xff0c;本文整理仅做交流学习使用&#xff0c;同时便于查找&#xff0c;如有侵权请联系删除。 图片网址&#xff1a;PPBC中国植物图像库——最大的植物分类图片库 一、绣线菊…

C语言:写一个函数,实现3*3矩阵的转置(指针)

分析&#xff1a; 在主函数 main 中&#xff0c;定义一个 3x3 的整型数组 a&#xff0c;并定义一个指向整型数组的指针 p。然后通过循环结构和 scanf 函数&#xff0c;从标准输入中读取用户输入的 3x3 矩阵的值&#xff0c;并存储到数组 a 中。 接下来&#xff0c;调用 mov…

汇编:关于栈的知识

1.入栈和出栈指令 2. SS与SP 3. 入栈与出栈 3.1 执行push ax ↑↑ 3.2 执行pop ax ↓↓ 3.3 栈顶超界的问题 4. 寄存器赋值 基于8086CPU编程时&#xff0c;可以将一段内存当作栈来使用。一个栈段最大可以设为64KB&#xff08;0-FFFFH&#xff09;。 1.入栈和出栈指令…

003、ArkTS开发实践

之——尝试 杂谈 学习声明式UI语法&#xff1a; 正文 1.声明式UI 1.1 声明式描述 想要什么样子就直接描述&#xff1a; 1.2 状态驱动视图更新 2.自定义组件 对页面内容进行合理抽象&#xff0c;组合基础组件&#xff0c;封装成自定义组件。 自定义子组件&#xff0c;为后续使…

基于51单片机的全自动洗衣机proteus仿真设计

标题目录 &#x1f4ab;51单片机全自动洗衣机proteus仿真设计&#x1f4ab;设计介绍&#x1f4ab;仿真图电动机驱动模块电路设计电源模块电路设计控制按键进水阀和排水阀控制继电器 &#x1f4ab;程序设计main函数 &#x1f4ab;设计报告&#x1f4ab;资料清单&&下载链…

Linux(8):BASH

硬件、核心与 Shell 操作系统其实是一组软件&#xff0c;由于这组软件在控制整个硬件与管理系统的活动监测&#xff0c;如果这组软件能被用户随意的操作&#xff0c;若使用者应用不当&#xff0c;将会使得整个系统崩溃。因为操作系统管理的就是整个硬件功能。 应用程序在最外层…

光线追踪-Peter Shirley的RayTracingInOneWeekend系列教程(book1-book3)代码分章节整理

自己码完了一遍了&#xff0c;把代码分章节整理了一下&#xff0c;可以按章节独立编译&#xff0c;运行, 也可以直接下载编译好的release版本直接运行。 项目地址&#xff1a; Github: https://github.com/disini/RayTracingInOneWeekendChaptByChapt ​ ​ ​ ​

[C/C++]数据结构 堆的详解

一:概念 堆通常是一个可以被看做一棵完全二叉树的数组对象,它是一颗完全二叉树,堆存储的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并且需要满足每个父亲结点总小于其子节点(或者每个父亲结点总大于其子节点) 堆可以分为两种: 小堆: 任意一个父亲节点都小于其子…

C++前缀和算法:统计美丽子字符串

题目 给你一个字符串 s 和一个正整数 k 。 用 vowels 和 consonants 分别表示字符串中元音字母和辅音字母的数量。 如果某个字符串满足以下条件&#xff0c;则称其为 美丽字符串 &#xff1a; vowels consonants&#xff0c;即元音字母和辅音字母的数量相等。 (vowels * cons…

大语言模型损失函数详解

我们可以把语言模型分为两类&#xff1a; 自动回归式语言模型&#xff1a;自动回归式语言模型在本质上是单向的&#xff0c;也就是说&#xff0c;它只沿着一个方向阅读句子。正向&#xff08;从左到右&#xff09;预测&#xff1b;反向&#xff08;从右到左&#xff09;预测。…

Elasticsearch:LangChain 是什么?

当你将应用程序称为 “AI&#xff08;人工智能&#xff09;” 时&#xff0c;这通常意味着它包含与学习模型&#xff08;例如大型语言模型&#xff0c;或 LLM&#xff09;的交互。 [不那么]有趣的事实是&#xff0c;LLM 的使用实际上并不是使应用程序变得智能的原因。 它的特殊…

Linux中vi常用命令-批量替换

在日常服务器日志查看中常用到的命令有grep、tail等&#xff0c;有时想查看详细日志&#xff0c;用到vi命令&#xff0c;记录下来&#xff0c;方便查看。 操作文件&#xff1a;test.properites 一、查看与编辑 查看命令&#xff1a;vi 文件名 编辑命令&#xff1a;按键 i&…

【SAS Planet 下载地图瓦片-读取】

SAS Planet下载地图瓦片请看上一篇 详细介绍了下载方法 【SAS Planet 下载地图瓦片】-CSDN博客 准备工作&#xff1a; 1.提前下载好地图瓦片数据 SAS Planet下载地图瓦片默认存储路径如下 默认存储格式为 .sqlitedb 2.提前准备好 java开发环境和开发工具&#xff0c;新建 一个…

印度客户来访广东育菁装备考察桌面型数控机床

印度客户来访广东育菁装备考察桌面型数控机床&#xff0c;这是一个重要的商业活动&#xff0c;对于育菁装备来说&#xff0c;这是一个展示产品和技术实力&#xff0c;拓展国际市场的好机会。 在接待印度客户的过程中&#xff0c;育菁装备需要做好充分的准备&#xff0c;包括&am…

YOLOv8改进 | SAConv可切换空洞卷积(附修改后的C2f+Bottleneck)

论文地址&#xff1a;官方论文地址 代码地址&#xff1a;官方代码地址 一、本文介绍 本文给大家带来的改进机制是可切换的空洞卷积&#xff08;Switchable Atrous Convolution, SAC&#xff09;是一种创新的卷积网络机制&#xff0c;专为增强物体检测和分割任务中的特征提取而…

Linux socket编程(6):IO复用之select原理及例子

文章目录 1 五种I/O模型1.1 阻塞I/O模型1.2 非阻塞I/O模型1.3 I/O复用模型1.4 信号驱动I/O模型1.5 异步I/O模型 2 select函数3 select实战&#xff1a;实现多个套接字监听3.1 客户端3.2 服务端3.3 实验结果3.4 完整代码 在之前的网络编程中&#xff0c;我们遇到了一个问题&…

初识数据结构

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 熬过了我们不想要的生活&#xf…

RT-DETR论文阅读笔记(包括YOLO版本训练和官方版本训练)

论文地址&#xff1a;RT-DETR论文地址 代码地址&#xff1a;RT-DETR官方下载地址 大家如果想看更详细训练、推理、部署、验证等教程可以看我的另一篇博客里面有更详细的介绍 内容回顾&#xff1a;详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署 目录 一…

【计算机网络笔记】多路访问控制(MAC)协议——轮转访问MAC协议

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…
最新文章