目录
BFC概念" >BFC概念
形成BFC的条件:" >形成BFC的条件:
BFC的作用:" >BFC的作用:
关于margin合并" >关于margin合并
margin合并出现的三个场景:" >margin合并出现的三个场景:
margin合并规则:" >margin合并规则:
阻止相邻元素外边距合并的方法:" >阻止相邻元素外边距合并的方法:
首页 web前端 css教程 如何理解BFC-块格式化上下文(图文)

如何理解BFC-块格式化上下文(图文)

Jul 25, 2018 am 11:43 AM
css

本篇文章分享给大家的内容是关于如何理解BFC-块格式化上下文(图文),内容很详细,接下来我们就来看看具体的内容,希望可以帮助到大家。

BFC概念

BFC(block formatting context)块格式化上下文, 是Web页面块级元素布局及浮动元素彼此交互的区域。BFC是一个独立的布局环境,(实际页面渲染时是不可见的),由BFC构建的区域其内部元素的布局是不受外界的影响的,利用这个特性可用来消除浮动元素对其非浮动的兄弟元素和其子元素带来的影响。在BFC中元素从顶端开始垂直地一个接一个地排列,两个元素之间的垂直的间隙是由他们的margin 值所决定的。在一个BFC中,两个相邻的块级元素的垂直外边距会产生折叠。(后面详细解释)

形成BFC的条件:

1.浮动、绝对定位、fixed定位,这些方式都能让元素脱离文档流形成独立的BFC。
2.display:inline-block/table-cells/table-captions/inline-flex(非块级元素的块容器元素)
3.overflow:auto/hidden/scroll
overflow属性本身并没有什么特别之处,但是是会产生BFC创造独立布局环境,使元素不受浮动元素的影响。

使用BFC清除浮动效果示例:

2094519353-5b57ddb1b95a3_articlex.png

BFC的作用:

1.清除浮动带来的副作用(将浮动限定在BFC区域中)
2.撑开父元素(包住浮动元素) 清除浮动就是撑开父元素
3.阻止外边距合并
4.BFC独立性可用来布局

关于margin合并

margin合并出现的三个场景:

1.同一个BFC环境中,处于普通文档流中的垂直相邻元素的外边距合并。
3543052828-5b57dbbc19da2_articlex.png

2.父子元素的外边距合并。

4184429788-5b57dbe4c801e_articlex.png

3.空元素自身的外边距合并。
1366600456-5b57df1c89894_articlex.png
如果这个外边距遇到另一个元素的外边距,它还会发生合并

4280546886-5b57dbfeec2a0_articlex.png

margin合并规则:

1.两个margin都是正值的时候,取两者的最大值;
2.当 margin 都是负值的时候,取的是其中绝对值较大的,然后,从0位置,负向位移;
3.当有正有负的时候,先取出负 margin 中绝对值中最大的,然后和正 margin 值中最大的 margin 相加。
所有毗邻的margin要一起参与运算,不能分步进行。

阻止相邻元素外边距合并的方法:

1.被非空内容、padding、border 或 clear 分隔开。
2.不在一个普通流中或用BFC分割开。
3.让margin在垂直方向上不毗邻。

相关推荐:

css关于浏览器兼容问题的解析

关于css响应式的实现代码及效果

以上是如何理解BFC-块格式化上下文(图文)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

bootstrap怎么写分割线 bootstrap怎么写分割线 Apr 07, 2025 pm 03:12 PM

创建 Bootstrap 分割线有两种方法:使用 标签,可创建水平分割线。使用 CSS border 属性,可创建自定义样式的分割线。

bootstrap怎么插入图片 bootstrap怎么插入图片 Apr 07, 2025 pm 03:30 PM

在 Bootstrap 中插入图片有以下几种方法:直接插入图片,使用 HTML 的 img 标签。使用 Bootstrap 图像组件,可以提供响应式图片和更多样式。设置图片大小,使用 img-fluid 类可以使图片自适应。设置边框,使用 img-bordered 类。设置圆角,使用 img-rounded 类。设置阴影,使用 shadow 类。调整图片大小和位置,使用 CSS 样式。使用背景图片,使用 background-image CSS 属性。

bootstrap怎么调整大小 bootstrap怎么调整大小 Apr 07, 2025 pm 03:18 PM

要调整 Bootstrap 中元素大小,可以使用尺寸类,具体包括:调整宽度:.col-、.w-、.mw-调整高度:.h-、.min-h-、.max-h-

HTML,CSS和JavaScript的角色:核心职责 HTML,CSS和JavaScript的角色:核心职责 Apr 08, 2025 pm 07:05 PM

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

bootstrap怎么设置框架 bootstrap怎么设置框架 Apr 07, 2025 pm 03:27 PM

要设置 Bootstrap 框架,需要按照以下步骤:1. 通过 CDN 引用 Bootstrap 文件;2. 下载文件并将其托管在自己的服务器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根据需要编译 Sass/Less;5. 导入定制文件(可选)。设置完成后,即可使用 Bootstrap 的网格系统、组件和样式创建响应式网站和应用程序。

bootstrap按钮怎么用 bootstrap按钮怎么用 Apr 07, 2025 pm 03:09 PM

如何使用 Bootstrap 按钮?引入 Bootstrap CSS创建按钮元素并添加 Bootstrap 按钮类添加按钮文本

bootstrap怎么看日期 bootstrap怎么看日期 Apr 07, 2025 pm 03:03 PM

答案:可以使用 Bootstrap 的日期选择器组件在页面中查看日期。步骤:引入 Bootstrap 框架。在 HTML 中创建日期选择器输入框。Bootstrap 将自动为选择器添加样式。使用 JavaScript 获取选定的日期。

vue中怎么用bootstrap vue中怎么用bootstrap Apr 07, 2025 pm 11:33 PM

在 Vue.js 中使用 Bootstrap 分为五个步骤:安装 Bootstrap。在 main.js 中导入 Bootstrap。直接在模板中使用 Bootstrap 组件。可选:自定义样式。可选:使用插件。

See all articles