您的位置:首页 > 教育 > 培训 > 代办公司注销_深圳网络营销全网推广_深圳营销型网站_网页设计制作网站

代办公司注销_深圳网络营销全网推广_深圳营销型网站_网页设计制作网站

2024/10/6 18:28:10 来源:https://blog.csdn.net/2301_78133614/article/details/142340292  浏览:    关键词:代办公司注销_深圳网络营销全网推广_深圳营销型网站_网页设计制作网站
代办公司注销_深圳网络营销全网推广_深圳营销型网站_网页设计制作网站

BFC 是 Block Formatting Context(块级格式化上下文)的缩写,是 CSS 中一个重要的概念。BFC 是页面中的一块独立的渲染区域,其中的元素按照特定规则进行布局和渲染。

在 BFC 中,每个盒子(元素)都会按照以下规则进行布局:
1. 盒子在垂直方向上从包含块的顶部开始放置,各个盒子按其在 HTML 中出现的顺序排列。
2. 盒子之间垂直方向上的距离由 margin 决定,不会发生重叠。
3. BFC 区域内部的盒子不会与浮动元素发生重叠。
4. BFC 区域内部盒子的边界会清除浮动。

触发 BFC 的条件包括:
- 根元素或包含根元素的元素
- 浮动元素(float 不为 none)
- 绝对定位元素(position 为 absolute 或 fixed)
- display 属性值为 inline-block、table-cell、table-caption、flex、inline-flex
- overflow 属性值不为 visible 的块级容器

使用 BFC 可以解决一些常见问题,如清除浮动、避免 margin 重叠等。了解和合理运用 BFC 对于掌握 CSS 布局和解决页面布局问题非常重要。如果您有任何进一步问题或需要更多信息,请随时告诉我!

在一个Web页面的CSS渲染中,块级格式化上下文 (Block Fromatting Context)是按照块级盒子布局的。W3C对BFC的定义如下:

浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, table-cells, 和 table-captions),以及overflow值不为“visiable”的块级盒子,都会为他们的内容创建新的BFC(块级格式上下文)。

BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个 BFC 中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。

块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。如果我们有足够多的文本,它会环绕浮动的图像和边框,然后环绕整个区域。

// html
<div class="outer"><div class="float">I am a floated element.</div>I am text inside the outer box.
</div>// css
.outer {border: 5px dotted rgb(214,129,137);border-radius: 5px;width: 450px;padding: 10px;margin-bottom: 40px;
}.float {padding: 10px;border: 5px solid rgba(214,129,137,.4);border-radius: 5px;background-color: rgba(233,78,119,.4);color: #fff;float: left;  width: 200px;margin: 0 20px 0 0;
}

BFC 是布局中的一个迷你布局

你可以将 BFC 看作是页面内的一个迷你布局。一旦一个元素创建了一个 BFC,它就包含了所有的内容。正如我们所看到的,这包括浮动的元素,它们不再从盒子底部伸出来。BFC 还会导致一些其他有用的行为。

BFC 可以防止 margin 折叠

了解边距合并是另一个被低估的 CSS 技能。在下一个示例中,假设有一个背景颜色为灰色的 div

这个 div 包

// html
<div class="outer"><p>I am paragraph one and I have a margin top and bottom of 20px;</p><p>I am paragraph one and I have a margin top and bottom of 20px;</p>
</div>// css
.outer {background-color: #ccc;margin: 0 0 40px 0;
}p {padding: 0;margin: 20px 0 20px 0;background-color: rgb(233,78,119);color: #fff;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com