摘要:浮动,绝对定位元素,非块盒的块容器例如,,和和不为的块盒当该值已被传播到视口时除外会为它们的内容建立一个新的块格式化上下文布局规则内部盒会在垂直方向一个接一个的放置盒的垂直方向的距离由决定属于同一个的两个相邻盒子的会发生重叠每个元素的
浮动,绝对定位元素,非块盒的块容器(例如,inline-blocks,table-cells和table-captions)和overflow不为visible的块盒(当该值已被传播到视口时除外(except when that value has been propagated to the viewport))会为它们的内容建立一个新的块格式化上下文
BFC布局规则:
BFC内部盒会在垂直方向,一个接一个的放置
盒的垂直方向的距离由margin决定.属于同一个BFC的两个相邻盒子的margin会发生重叠
每个元素的margin box的左边,与包含块border box的左边相接触(对于从左往右的格式化,否则相反).即使存在浮动也如此
BFC的区域不会与float box重叠(利用这个特性可以做自适应窗口大小)
BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素.反之也是如此
计算BFC高度时,浮动元素也参与计算(清除浮动的原理)
块格式化上下文由以下之一创建:
根元素或其它包含它的元素
浮动(元素的float不是none)
绝对定位的元素(元素具有position为absolute或fixed)
行内块 inline-blocks(元素具有display:inline-block)
表格单元格(元素具有display:table-cell,表格单元格默认属性)
表格标题(元素具有display:table-caption,表格标题默认属性)
块元素 元素具有overflow值不是visible
弹性盒子flex boxes(元素具有display:flex或inline-flex)
display:flow-root
一个块格式化上下文包括创建它的元素内部所有内容,除了会创建新的块格式化上下文的元素
BFC与margin
BFC可以解决margin折叠问题,需要注意的是,overflow:hidden等属性只在父子元素下起作用,相邻兄弟元素无效
BFC与float
BFC可以改变float的覆盖兄弟元素的问题,实现一侧定宽的布局,还可以解决父元素塌陷问题
细说CSS中的BFC
学习格式化上下文
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/111941.html
摘要:概念块格式化上下文,是页面块级元素布局及浮动元素彼此交互的区域。阻止相邻元素外边距合并的方法被非空内容或分隔开。不在一个普通流中或用分割开。让在垂直方向上不毗邻。 BFC概念 BFC(block formatting context)块格式化上下文, 是Web页面块级元素布局及浮动元素彼此交互的区域。BFC是一个独立的布局环境,(实际页面渲染时是不可见的),由BFC构建的区域其内部元素...
摘要:块级盒参与块格式化上下文。行内级盒参与行内格式化上下文块格式化上下文行内格式化上下文相对定位浮动盒就是一个在当前行向左或向右移动的盒。浮动绝对定位绝对定位模型中,一个盒会有相对于其包含块的明确偏移,它会从常规流中全部移除不会影响后面的兄弟。 在可视化格式模型(Visual formatting model)当中,文档树中的每个元素根据其盒模型生成0个或多个盒.这些盒的布局由(以下因素)...
摘要:官方说法就是它规定了用户端在媒介中如何处理文档树。是的包含块,同时又是的包含块,不是绝对的。因此称为匿名盒子。行内盒子行内级元素会生成行内级盒子,该盒子同时会参与行内格式化上下文的创建。如果只有一个值指定为,则其使用的值来自相等。 作者:陈大鱼头 github: KRISACHAN 盒模型 The CSS box model describes the rectangular b...
阅读 3072·2021-11-19 09:40
阅读 1558·2021-11-15 11:39
阅读 661·2021-10-08 10:05
阅读 2272·2021-09-03 10:29
阅读 3405·2021-08-12 13:22
阅读 2149·2019-08-30 15:54
阅读 3705·2019-08-30 14:03
阅读 2653·2019-08-30 13:45