用float clear和BFC清除浮动 学习总结

sap销售发货的流程_SAP销售订单发货后如何实现发票的自动创建? 问SAP销售订单发货后如何实现发票的自动创建?答业务场景有些快消零售企业,SAP系统单据量大,单据金额少,一般在销售发货后即可确认收入。此时无需人工在系统内操作VF01或者VF04进行开票操作,可将该操作设置成后台作业进行自动批量开票,具体操作如下:1、定义任务:VF06输入完以上信息,点击保存进入以下界面:说明:当前日期的意思是“开票的日期”等于“系统电脑中的当前日期”当前日期+/-... 阅读详情
0 views

用float clear和BFC清除浮动 学习总结

CSS定位机制有三种,分别是普通流、浮动和绝对定位。浮动能很好地完成一些布局,在页面布局中的地位举足轻重,但也随之带来了不少的副作用,让人即爱又恨。如能消除浮动带来的副作用,浮动还是十分好用的一种布局方式。所谓的清除浮动,目的基本上都是为了消除浮动带来的副作用,常用的清除浮动的方法有CSS clear闭合浮动和触发浮动元素父元素的BFC来闭合浮动。

浮动的工作原理

浮动的框可以左右移动,直至它的外边缘遇到包含框或者另一个浮动框的边缘。浮动框不属于文档中的普通流,当一个元素浮动之后,不会影响到块级框的布局而只会影响内联框(通常是文本)的排列,文档中的普通流就会表现得和浮动框不存在一样,当浮动框高度超出包含框的时候,也就会出现包含框不会自动伸高来闭合浮动元素(“高度塌陷”现象)。顾名思义,就是漂浮于普通流之上,像浮云一样,但是只能左右浮动。
—— 摘抄自W3C School

为什么要清除浮动

当元素设置浮动属性后,会对相邻的元素产生影响,相邻元素特指紧邻后面的元素,紧邻其后的元素会受到浮动元素的影响;
浮动的元素脱离了普通流,这样使得包含它的父元素并不会因为这个浮动元素的存在而自动撑高,这样就会造成高度塌陷;
这样可能
影响兄弟元素还是高度塌陷的问题,会使布局错乱,所以我们需要想办法来清除浮动带来的额外影响。

清除浮动的方法

清除浮动的实质包括三种:CSS clear、BFC特性和触发haslayout。

一. CSS clear清除浮动

清除浮动的属性有clear:left | right | both;

方法1. 空元素+clear

在浮动元素中添加一个空的子元素,如<div class="clear></div>,并定义其样式为.clear { clear: both;}。

方法2:br元素+clear

在浮动元素中添加一个空的子元素,如<br style="clear: both;" />。

方法3::after+clear+zoom:1

给浮动元素添加伪元素after,并为伪元素定义clear:both;对于不支持:after伪元素的浏览器如IE6~7,可以通过触发haslayout来达到闭合浮动的目的。代码如下:
HTML代码:

<div class="float-left clearfix"></div>

CSS代码:

.float-left { 
    float: left; 
}
.clearfix:after { 
    content: " "; 
    display: block; 
    height: 0; 
    clear: both;
}
.clearfix { 
    *zoom: 1; /* zoom:1是为了触发IE6~7中的haslayout */
}

综上,方法1和2会添加无意义的空标签,有违结构与表现的分离,不建议使用;

二. 触发浮动元素父元素的BFC来闭合浮动

BFC(Block formatting contexts),块级格式上下文,是页面上的一个隔离的独立容器,容器里面的子元素与容器外部元素不会相互影响,即BFC阻止外边距叠加、不重叠浮动并且可以包含浮动。因此我们常利用这点来闭合浮动,以达到消除浮动的副作用。

触发 BFC 的条件如下:
1.根元素(整个页面就是一个大的BFC);
2.float为 left | right;
3.overflow为 hidden | auto | scroll;
4.display为 inline-block | table-cell | table-caption | flex | inline-flex;
5.position为 absolute | fixed;

具体实现方法有:

方法4:overflow:hidden | auto

<div class="float"></div>
.float {
    overfloat: hidden;
}

备注:不能和position配合使用,因为超出的尺寸会被隐藏;

方法5:父级元素也一起浮动

<div class="parent">
    <div class="float"></div>
    <div class="float"></div>
</div>
.parent, .float {
    float: left;
}

备注:会产生新的浮动问题,不推荐使用;

方法6:父元素设置display:table,子元素设置display:table:cell

被指:盒模型属性改变,并由此会造成一些列问题,不推荐使用;

三. 触发haslayout来闭合浮动

由于IE6~7中不完全支持BFC,但是可以通过触发haslayout来达到闭合浮动的效果。

触发hasLayout的条件:(摘抄自http://www.iyunlu.com/view/css-xhtml/55.html)
position: absolute;
float: left|right;
display: inline-block;
width: 除 “auto” 外的任意值;
height: 除 “auto” 外的任意值;
zoom: 除 “normal” 外的任意值;
writing-mode: tb-rl;
在 IE7 中,overflow 也变成了一个 layout 触发器:
overflow: hidden|scroll|auto ( 这个属性在IE6-没有触发 layout 的功能);

总结:

建议在支持BFC的浏览器(IE8+, Chrome, Firefox, Safari)中,通过创建新的BFC来闭合浮动;
在不支持BFC的浏览器(IE6~7)中,通过触发hasLayout来闭合浮动;

一个比较通用的清除浮动是方法3,建议使用。

本文作者:凳子_Joinery,转载请注明出处:http://www.dengzhr.com/frontend/css/274

一分钟详解PCL中点云配准技术 原文首发于微信公众号「3D视觉工坊」: 一分钟详解PCL中点云配准技术 本文是对前两篇文章:点云配准(一 两两配准)以及3D点云(二 多福点云配准)的补充,希望可以在一定程度上帮助大家对点云配准理解地更为深刻。 一 PCL中点云配准技术的简单实现 在同一文件夹下,有测试数据文件monkey.ply,该文件是利用Blender创建的默认Monkey模型。 利用如下代码,将初始点云(图中绿色点云)... 阅读详情

相关推荐

一文吃透 BMS:动力电池与储能共用的电池管控全架构详解

BMS作为电池系统的核心控制器,其技术深度和系统复杂性不容小觑。动力电池与储能系统虽然应用场景不同,但在核心架构上共享大量基础技术。成功的BMS设计需要在精度、可靠性、成本、功耗之间找到最佳平衡点。未来,随着电池技术的进步和智能化需求的提升,BMS将向着更高集成度、更强智能化、更优经济性的方向发展。无论是汽车工程师还是储能系统设计师,深入理解BMS的全栈架构,掌握其核心技术原理,都将是应对未来能源存储挑战的关键能力。核心要点回顾BMS采用分层分布式架构,硬件是基础,算法是灵魂。

小帽子的博客 341

脱离文档流和恢复文档流的方法

文章目录一、文档流1. 什么是文档流?2. 什么是脱离文档流二、怎么脱离文档流1. float2. positiona. position:absoluteb. position:fixedc. position:relative三、怎么恢复文档流 一、文档流 1. 什么是文档流? 将窗体自上而下 分成一行一行,并在每行中按照从左到右依次排放元素,称为文档流(normal stream又称普通流)...

Welkin_qing的博客 7666

openstack卷分离异常问题处理

对于 2023-05-10 之后的所有 OpenStack 版本,需要将Nova 配置为向 Cinder 发送服务令牌,然后 Cinder 接收该令牌。cinder.conf处添加service_token_role配置。1.修改nova的config文件添加如下配置。确定service role 是否存在。有关详细信息,请参阅。重启nova cinder 服务。nova-compute日志。cinder-api日志。

weixin_43391291的博客 477

高度塌陷、清除与BFC(内含完美解决方案)

完美解决高度塌陷与外边距折叠问题,BFC,浮动效果清除

comegoing_xin_lv的博客 1619

深入解析:el-table合并单元格

  在企业级应用开发中,我们经常需要处理复杂的数据展示需求。在构建复杂的数据展示后台时,我们常常需要将表格中具有相同属性的行进行视觉上的合并,以提升信息的聚合度和可读性。在 Element Plus 的 el-table 组件中,span-method 属性是实现单元格合并的核心机制,允许开发者自定义单元格的合并逻辑,开发者可以通过实现自定义合并策略来满足各种负责需求。  合并行的本质是通过计算相邻行数据的相似性,确定满足合并的单元格范围,然后通过 DOM 操作将多个单元格合并为一个。这种操作在前端数据可视

独泪了无痕 229

大唐杯5G考前冲刺篇(回顾全文重点必看)

大唐杯习题复习指南

nimo观察者 1万+

BFC以及清除浮动四种方式

1

qq_52563729的博客 1687

【微服务】Spring Aop原理深入解析

spring原理深度解析

congge 1万+

清除浮动,BFC(块格式上下文)

清除浮动,BFC(块格式上下文) 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。 让浮动内容和周围的内容等高, 消除外边距合并,设置相关属性 //创建一个会包含这个浮动的 BFC,通常的做法是设置父元素 overflow: auto 或者设置其他的非默认的 overflow: visible 的值。 1. overflow: auto 2. display: fl

weixin_43799793的博客 310

Odoo17商城微信支付模块,快速一个实现可在线支付的商城

通过集成微信支付APIv3,Odoo 系统实现了高效、安全的支付流程。Native扫码支付和Jsapi微信浏览器内直接拉起支付为用户提供了更加便捷的支付方式。同时,通过发送下单及支付消息给管理员,商家可以实时了解订单状态并进行相应处理。通过集成微信支付 结合 Odoo 系统内置的商城模块,可以为商家快速实现功能完善、高效的电商解决方案。

AaronZZH 的博客 2268

pytorch 51 GroundingDINO模型导出tensorrt并使用c++进行部署,53ms一张图

博主基于https://github.com/hpc203/GroundingDINO-onnxrun项目分享的onnx c++推理代码,修改为GroundingDINO模型的tensorrt推理代码。对于600x400的输入,在3060显卡下,cuda 12.1,TensorRT-10.4.0,window环境下53ms处理完一张图片。

a486259的博客 1221

【css】清除浮动及BFC

【css】清除浮动及BFC 文章目录【css】清除浮动及BFC一、理解BFCBFC的定义:BFC的渲染规则:创建 BFC 的条件:BFC 的作用:1.用BFC防止垂直 margin 合并2.解决高度塌陷的问题:3.利用BFC清除浮动二、清除浮动1.给父级元素定义height属性2.在最后一个浮动元素之后添加一个空的div标签,并添加clear:both样式3.包含浮动元素的父级标签添加overflow:hidden或者overflow:auto4.使用 ::after 伪类为父元素添加后标签,实现清除浮动

前端学习博客 1457

14、5G物理层的灵活解决方案:广义频分复用(GFDM)

广义频分复用(GFDM)作为一种高度灵活的5G物理层多载波调制方案,能够满足多样化应用场景的需求,包括高吞吐量的比特管道通信、低功耗高连接数的物联网、超低延迟的触觉互联网以及广覆盖的无线区域网。通过参数化配置,GFDM可适配LTE资源网格,实现与现有系统的兼容与共存。其支持多种解调方式、干扰消除技术、OQAM映射及预编码机制,兼具低带外发射、高频谱效率和强鲁棒性。GFDM还能统一描述OFDM、FBMC、FTN等多种经典与先进波形,成为5G及未来通信系统中极具潜力的通用波形框架。

gold8的专栏 108

Web前端自学记录(四) (Float)

浮动(Float) 1.浮动的简介 通过浮动可以使一个元素向其父元素的左侧或右侧移动 使用float属性来设置子元素的浮动 可选值: none 默认值,元素不浮动 left 元素向左浮动 right 元素向右浮动 注意:元素设置浮动后,水平布局的等式不需要强制成立 元素设置浮动后,会完全从文档流中脱离,不再占用文档流的位置 所以元素下边的还在文档流中的元素会自动向上移动 2.浮动的特点 基础特点 1.浮动元素会完全脱离文档流,不再占据文档流中的位置 2.设置浮动以后

zqc382750716的博客 635

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

详解 清除浮动 的多种方式(clearfix)

说明本文适合知道HTML 与 CSS基础知识的读者,或者想要了解清除浮动背后原理的读者!1.什么是浮动首先我们需要知道定位 元素在页面中的位置就是定位,解决问题之前我们先来了解下几种定位方式 1、普通流定位 static(默认方式) 普通流定位,又称为文档流定位,是页面元素的默认定位方式 页面中的块级元素:按照从上到下的方式逐个排列 页面中的行内元素:按照从左到右的方式逐个排列 但是如

FEWY的博客 7万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式?

为什么出现浮动?浮动float最开始出现的意义是为了让文字环绕图片而已,但人们发现,如果想要三个块级元素并排显示,都给它们加个float来得会比较方便。什么时候清除浮动? 如果想要实现三个块级元素并排显示,期望效果如下图所示: 给三个块级元素都加上float属性后,页面效果如下图所示: 问题出现了,父元素高度塌陷了一目了然:如果我们给上面的三个绿颜色的方块设置display:inline-

sjinsa的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

清除浮动的三种方法(::after/.clear/overflow)

清除浮动的三种方法 ::after clear:both; overflow

screaming_color的博客 6694

float浮动副作用及其如何清除

1.浮动产生的现象? 1.脱离标准文档流,不占页面位置 2.文字环绕,设置浮动属性的初衷 3."贴边"现象,设置浮动属性后,首选找有浮动盒子的边找到了就会贴到浮动盒子的边上,若找不到,则找父元素的边 4.收缩现象,只显示内容的宽度, 5.撑不起盒子的高度 3.父元素清除子元素产生的浮动影响? 1.给父元素设置固定宽高(不灵活,后期不易维护) 2.内墙法:给最后一个浮动元素的后面添加一个空的【块级...

koukou0419的博客 668

CSS清除浮动,什么时候需要清除浮动,清除浮动都有哪些方法

CSS清除浮动,什么时候需要清除浮动,清除浮动都有哪些方法  浮动(float),一个我们即爱又恨的属性。爱,因为通过浮动,我们能很方便地布局; 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器)。也许很多人都有这样的疑问,浮动从何而来?我们为何要清除浮动?清除浮动的原理是什么?本文将一步一步地深入剖析其中的奥秘,让浮动使用

sinat_36533893的博客 7081

BFC float坍塌:clear与BFC

浮动及清除浮动的4种方式 float坍塌:(父容器高度坍塌,背景或边框不能正确显示)解决方法:clear与BFC 父元素内部末尾增加一个额外标签,如空div,clear:both 对父容器设置overflow: hidden/auto,触发其BFC缺点:设置hidden会导致超出部分直接被隐藏,,而设置auto的话超出部分会生成一个滚动条,影响视觉效果。 使用伪类元素,再用伪类元素清除浮动...

丰的博客 339

清除浮动与BFC

参考资料:http://www.positioniseverything.net/easyclearing.html 先看看clear属性的取值:none、right、float、both、inherit以及各个取值的含义 none No constraint on the box's position with respect to floats. left Requires

凡事预则立,不预则废 737

div float不生效_CSS(一)float与BFC

此文的参考资料:前端精选文摘:BFC 神奇背后的原理 CSS 2.1 block-formatting 示例代码均使用Pug和Sass编写。float① float设计的初衷:文字环绕效果// Pug div.text-around img(src="../../assets/timg.jpg") p 文字环绕效果 p 文字环绕效果 p 文字环绕效果 p 文字环绕效果 p ...

weixin_32184669的博客 1287

css中 float 和 bfc 的理解

前言 前段时间偶然看到了同学写的一篇博客,是他自己在做聊天室项目时遇到的css浮动相关的问题(点击查看原文章),文章写的很不错,但我感觉讲的还不够全,对于一些新手来说,想要理解可能还比较困难,然后我就感觉就有必要和大家分享一下关于浮动和css的隐藏属性BFC,我会先从文档流开始介绍,以便让大家更好的理解浮动的相关特性。 什么是文档流 1、从左至右,从上至下的布局。 2、符合html中标签本身含义的布局,比如某些标签独占一行。有些标签属于行内元素等。 理论都过于枯燥,直接上一个简单的例子给大家理解 如图所示,

weixin_44812997的博客 752

什么是浮动?有哪些清除浮动的方法?

大家好,这里是修真院前端小课堂,今天给大家带来的是 《什么是浮动?有哪些清除浮动的方法?》 浮动 float 出现的本意是用来实现文字像流水一样环绕浮动元素的效果。因为除了这个效果以外,float 属性的其他应用都可以用其他 css 属性来实现。 由于 CSS 是一门相当灵活的语言。某个 CSS 属性被用于的场景,可能会完全违背当初创造该 CSS 属性的本意。就如今天我们要讲的 floa...

IT修真院:初学者转行到互联网的聚集地 956

BFC与清除浮动总结

1.BFC是什么?清除浮动是什么? 1. BFC叫作块级格式上下文,BFC是一个渲染规则。 2. 该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关。 3. 只要触发了这些规则就会对这个块级区域, 重新计算父子元素之间的关系和子元素的高度,从而重新计算出父元素的高度在渲染 1. 清除浮动的原理:clear属性,让这块的元素触发 BFC 1.清除浮动的方法?形成BFC的常见条件? 清除浮动的方法: 1. 利用 clear 属性 父元素内部末尾增加一个额外标签,如空div,使用 clear:bo

qq_44818085的博客 655

CSS3中的浮动、清除浮动以及BFC

一、float定义float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。按照张鑫旭的说法浮动出现的意义其实只是用来让文字环绕图片而已,仅此而已。而我们目前用浮动实现页面布局本不是浮动该干的事情。注意:如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。另外,假...

qq_40285302的博客 567
上一篇: 详解CSS float属性
下一篇: HTML中src和href的区别
依栏听风雨
博客等级 码龄15年 24粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值