清除浮动有哪些方式?比较好的方式是哪一种?

为什么需要清除浮动?清除浮动的方式有哪些? 浮动(float)最初是为图文混排设计的 CSS 属性,但前端工程师却将其广泛用于布局。而浮动一旦使用不当,就会引发布局错乱,最典型的问题就是**“父级高度塌陷”**。为了解决这个问题,我们引出了“清除浮动”的概念。很多初级开发者只知道某个类名加上.clearfix就能解决问题,但不理解其背后的原理。在面试中,面试官就是想通过这一题判断你到底是真懂,还是只会背结论。“清除浮动”这个看似基础的问题,其实是一个“拉开差距”的好题。它不仅考察 CSS 基础,更考察你对浏览器渲染机制、布局原理、兼容性与可维护性。 阅读详情

高度塌陷

父元素在文档流中高度默认是被子元素撑开的,当子元素脱离文档流以后,将无法撑起父元素的高度,也就会导致父元素的高度塌陷。父元素的高度一旦塌陷, 所有标准流中元素的位置将会上移,导致整个页面的布局混乱

margin塌陷

指的是嵌套父子块级元素垂直方向(次方向)的margin会结合到一起,并取最大的值。


 block formatting context即块级格式化上下文。它决定了块级元素如何对它的内容进行布局,以及与其他元素的关系和相互关系。它会让盒模型的渲染规则发生改变,并且创建一个新的环境并与外界相隔。

如何启动BFC


1.根元素
2.float属性不为none
3.position为absolute或fixed
4.display为inline-block, table-cell, table-caption, flex, inline-flex
5.overflow不为visible

清除浮动

1.找到浮动元素的父元素,设置overflow:hidden,不过溢出不可见

<style>
    img{
        width:50px;
        border:1px solid #8e8e8e;
        float:left;
    }
</style>
<div style="overflow:hidden">
    <img src="images/search.jpg"/>
    <img src="images/tel.jpg"/>
    <img src="images/weixin.png"/>
    <img src="images/nav_left.jpg"/>
</div>

2.在所有浮动元素的下方添加一个空标签,设置clear:both,这种方式增加了不必要标签,不常用

<style>
    img{
        width:50px;
        border:1px solid #8e8e8e;
        float:left;
    }
</style>
<div style="overflow:hidden">
    <img src="images/search.jpg"/>
    <img src="images/tel.jpg"/>
    <img src="images/weixin.png"/>
    <div style="clear:both"></div>
</div>

3.(推荐)原理类似于第二种方式,不过是用伪类选择器,在父元素后面添加了一个clear:both的属性。主流都是这样用。。。

<style>
    .clearfix:after{
        content:'';
        display:block;
        clear:both;
    }
    .clearfix{//兼容低版本IE
        zoom:1;
    }
</style>
<div class="clearfix">
    <img src="images/search.jpg"/>
    <img src="images/tel.jpg"/>
    <img src="images/weixin.png"/>
    <img src="images/nav_left.jpg"/>
    <!-- <div style="clear:both;"></div> -->
</div>

 

清除浮动的方式有哪些?比较好的是哪一种? 常用的一般为三种.clearfix,clear:both,overflow:hidden; 比较好是.clearfix,伪元素万金油版本,后两者有局限性. .clearfix:after{ visibility:hidden; display:block; font-size:0; content:""; clear:both; height:0; } <!-- 为毛没有zoom,_height这些,IE6,7这类需要csshack不再我们... 阅读详情

相关推荐

海康视觉平台VisionMaster实战入门:从通讯配置到工具应用

本文为海康VisionMaster视觉平台实战入门指南,详细介绍了从软件安装准备、与PLC等外部设备的通讯配置,到匹配定位、测量、畸变矫正等核心工具的应用方法。通过实战案例拆解,帮助工程师快速掌握如何搭建完整的机器视觉检测与引导定位系统,实现工业自动化项目落地。

weixin_29224309的博客 1016

清除浮动的4种方式

为什么要清除浮动? 清除浮动主要是为了解决,父元素因为子级元素浮动引起的内部高度为0的问题 如下: 给父盒子设置一个boder,内部放两个盒子一个big 一个small,未给big和small设置浮动,则他们会默认撑开父盒子。 当我给内部两个盒子加上float属性的时候 底部的footer盒子就会顶上来,然后父盒子因为没设置高度,变成一条线,big和small已经浮动了 清除浮动的方法(最常用的4种) 一、 额外标签法: 给谁清除浮动,就在其后额外添加一个空白标签 。 优点: 通俗易懂,书写方便。(

田兴的博客 5万+

文献阅读:SAR像素偏移的性能改进An Improvement of the Performance of SAR Offset Tracking Approach

像素偏移追踪POT文献阅读

weixin_56301271的博客 342

清除浮动的五种方法详解

前言:   在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象,这个现象叫浮动溢出。为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动。   清除浮动主要是为了解决父元素因为子级元素浮动引起的内部高度塌陷的问题。 实例:   HTML代码基本代码 <!DOCTYPE html> <html lang="

qq_43692768的博客 2万+

R语言WGCNA实战:从基因表达矩阵到模块可视化全流程(附避坑指南)

本文详细介绍了使用R语言进行WGCNA(加权基因共表达网络分析)的完整实战流程,涵盖从基因表达矩阵预处理、软阈值选择、网络构建与模块识别,到模块与表型关联分析及结果可视化的关键步骤。文章重点解析了代码实现,并提供了针对数据质量检查、参数调整等常见问题的避坑指南,帮助生物信息学研究者高效挖掘基因共表达模块的生物学意义。

weixin_29062823的博客 580

告别手动操作!用Python脚本批量处理Siemens NX零件文件(导入/导出/移除参数)

本文详细介绍了如何利用Python脚本实现Siemens NX零件文件的批量处理,包括导入、导出和移除参数等操作。通过NX Open API和Python UF接口,工业设计师可以大幅提升工作效率,告别繁琐的手动操作。文章提供了完整的实战指南,涵盖环境配置、核心功能实现以及性能优化技巧,特别适合需要进行Siemens-NXUG二次开发的工程师参考。

weixin_28222493的博客 261

清除浮动的方法

由于在使用float时会出现float崩溃问题,针对float崩溃问题可以使用清除浮动的方法来解决。 清除浮动有四种方法:额外标签法、父级添加overflow属性、父级添加after伪元素、父级添加双伪元素。 1.在浮动完的最后一个盒子后面额外添加一个盒子标签,给此标签添加属性clear:both。注意这个新增的盒子必须是块级元素不能是行内块元素。 2.给父级添加overflow属性,可以将属性值设置为hidden,auto,scroll 。一般将属性值设置为hidden用来清除浮动。注意此方法可能会

qq_73746671的博客 875

基于STM32L4XX、HAL库的AD7768BSTZ 模数转换器ADC驱动程序设计

/ 默认SPI配置。// 读取通道数据命令。// 通过SYNC_IN引脚触发转换(如果使用)// 处理数据...// 或者通过SPI命令。// 初始化AD7768。// SPI1引脚配置。

zhusl6688的博客 462

清除浮动最常用的四种方法

1、为什么要清除浮动 开发过程中,浮动是需要掌握的一个技能,页面布局当中,在无法确定子元素的高度(height)时,我们无法给父级标签一个固定的高度(height),我们想要的是,由子元素的高度去控制父元素的高度。 所以,当子元素设置了浮动(float)属性之后,父元素的高度没有进行设置,这样就会导致父元素的高度塌陷(原本的height被重置为0),这就涉及到了清除浮动的重要性 2、清除浮动的三种方法 第一种方法:额外标签法 该方法是在浮动元素末尾添加一个空的标签,再给空标签添加一个清除浮动的样式,如下 h

weixin_44723072的博客 1万+

【OpenClaw从入门到精通】命令行操作指南——TUI模式高效管理OpenClaw(2026避坑版)

本文将详细介绍OpenClaw的命令行操作,重点介绍TUI(Text User Interface)模式的高效使用方法,以及在实际使用中需要避免的常见陷阱。通过本文的学习,你将掌握OpenClaw命令行的精髓,提升工作效率。

一键难忘的博客 1691

实验十一 ——————二层交换基础

实验内容实验网络拓扑图如上所示SW1以及SW2都创建VLAN10和VLAN20,按照上图所示,将接口添加到特定的VLAN;测试PC之间的连通性,要求相同VLAN内的PC能够相互通信要求设置两台交换机名称以及进行特权模式的密码,并允许通过Telnet方式管理交换机实验目的了解二层交换机工作原理掌握交换机基本配置命令理解VLAN的概念,掌握VLAN的配置理解trunk的概念,掌握trunk的配置实验步...

Fly_鹏程万里 1489

清除浮动的五种常用的方法( 解决方法 详细解释 原理 产生原因 )

清除浮动的五种常用的方法( 解决方法 详细解释 原理 产生原因 )

zhp19513507633的博客 7302

基于深度学习的商品标签识别系统:UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集

基于YOLO系列模型的商品标签识别系统能够有效解决商品信息提取的自动化问题。通过合理的数据集准备、模型训练和UI设计,我们可以实现一个功能强大的商品标签识别系统。希望本文提供的内容能够为大家提供有价值的帮助。

YOLO 474

浮动和清除浮动,清除浮动有哪些方式?比较好的方式是哪一种?

浮动的框可以向左或向右移动,直到他的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流的块框表现得就像浮动框不存在一样。浮动的块框会漂浮在文档普通流的块框上。   答:   (一)    (1)父级div定义height。    (2)结尾处加空div标签clear:both。    (3)父级div定义伪类:after和zoom。    (4)父级div定义overflow:hid

LuckyandLucky的博客 303

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

为什么会出现浮动?清除浮动有哪些方式?比较好的方式是哪一种

脱离标准文档流,float是css样式中的定位属性,用于设置标签对象(如:< div>标签盒子、< span>标签、标签、< em>标签等html标签)的。

m0_72206625的博客 180

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

清除浮动有哪些方式比较好的方式是哪一种

* 为了兼容IE6、7,需要添加zoom属性 */(4)父级div定义overflow:hidden。(2)结尾处加空div标签clear:both。(3)父级div定义伪类:after和zoom。(5)父级div定义overflow:auto。(7)父级div定义display:table。(1)父级div定义height。(8)结尾处加br标签clear:both。父级div定义伪类:after和zoom是最优解。(6)父级div也浮动,需要定义宽度。

emma20080101的博客 148

清除浮动比较好的方法

给父容器添加一个:after伪元素,并使用content:".",或者为" ",在元素的后面生成了内容为一个点的块级元素,并使用一切方法使这个块级元素隐藏并清除浮动clear:both。例:.parent:after{ content: ".";/*生成一个元素内容为".",为" "时也好用*/3  display: block;/*让元素为块级元素*/4  height:...

wy983948599的博客 208

css到底清除浮动用哪种形式比较好

1,overflow:hidden 加入父级元素,可以实现自适应,子元素采用浮动。 优点:代码简单 弊端:如果子元素出现定位的下拉菜单等形式,内容超出会被隐藏 2.clear:both 加入空标签 设置成clear:both; 优点:主要是针对浮动子元素的下边距的消失(IE7 IE6),用其他清除浮动方法都不能成功解决此问题 弊端:新增代码 增加文件大小 3.afte .clearf

专注前端开发 1117

清除浮动的几种方式

  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/h

weixin_33909059的博客 131

清除浮动的几种方法

1,父级div定义 height 原理:父级div手动定义height,就解决了父级div无法自动获取到高度的问题。 优点:简单、代码少、容易掌握 缺点:只适合高度固定的布局,要给出精确的高度,如果高度和父级div不一样时,会产生问题 建议:不推荐使用,只建议高度固定的布局时使用 2,结尾处加空div标签 clear:both 原理:添加一个空div,利用css提高的clear:both清除浮动,让父级div能自动获取到高度 优点:简单、代码少...

qq_38386314的博客 123

为什么要清除浮动?清除浮动的方式

非IE浏览器下,容器不设高度且子元素浮动时,容器高度不能被内容撑开。此时,内容会溢出到容器外面影响布局。这种现象被称为浮动(溢出)。

ZhangYu_010228的博客 3025

div清除浮动的四种方式

div 清除浮动的四种方式 清除浮动主要是为了解决父元素因为子级浮动引起高度为 0 的问题。 简单来说给父元素加一个高度也能解决这个问题,但是很多情况下不方便给父元素高度。所以,一般情况下,应该让子元素内容自动撑开父元素,不要写死父元素的高度。 clear 属性用于清除浮动,以下是清除浮动的几种常见方式。 1. 额外标签法 在浮动元素后面添加一个新的空 div,这个空 div 的样式添加 cl...

weixin_43990215的博客 5044

CSS清除浮动的3种方式

BFC:(Block Formatting Context):格式化上下文,是web页面中css盒式模型的一种渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部。具体使用如下代码所示:< style > /*内联样式*/ /* BFC */ .div1 {*/ /* 1. BFC ,使其成为BFC的其中一个条件*/ } .div2 {

m0_47013706的博客 1826
上一篇: phpstudy 配置apache ssl
下一篇: HTMl---盒模型
美酒爱尔兰
博客等级 码龄9年 38粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值