CSS中BFC(块级格式化上下文)的作用介绍

本篇文章给大家带来的内容是关于css中bfc(块级格式化上下文)的作用介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

定义

BFC全称为block formatting context,意为块级格式化上下文,是Web页面中盒模型布局的css渲染模式。

可能上面的解释看了有点懵逼,通俗的说BFC指的的是一块区域的布局, 这个区域的布局有一个显著特点:这个区域内的子元素无论使用何种布局、何种样式都不会影响外部的元素。BFC比较常见的用法就是用来清除浮动的影响,正常不清楚浮动影响的情况下,父元素的高度是会坍塌的

那么什么时候会触发BFC呢?满足一下条件中任何一个:

float的值不为none

立即学习“前端免费学习笔记(深入)”;

position的值不为static或者relate

display的值为table-cell、table-caption、inline-block、flex或者inline-flex中的任意一个

overflow的值不为visible

作用

清除浮动

我们经常会遇到这样的情况:当一个容器内包含的子元素包含浮动元素时,会导致容器没有高度,人们常用一个伪类,然后在伪类中用clear属性清除浮动,其实可以通过定义一个BFC来达到同样的目的,举个例子:

.container {  width: 600px;  background-color: black;}.container p {  float: left;  width: 200px;  height: 200px;  margin-left: 10px;  background-color: green;}

2417512715-5bd078d1c9b33_articlex.png

当子元素存在float属性时,父容器没有设置高度,父容器的高度就会塌陷,我们可以通过在父容器中加overflow:hidden创建一个BFC来解决这个问题:

.container {  width: 600px;  background-color: black;  overflow: hidden;  }.container p {  float: left;  width: 200px;  height: 200px;  margin-left: 10px;  background-color: green;}

3216773726-5bd079a8cf8a1_articlex.png

防止文字环绕

@@##@@

test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test

img {  float: left;  width: 40px;  height: 40px;}

CSS中BFC(块级格式化上下文)的作用介绍

如上面例子所示,正常情况下我们期待的结果是左边显示图片,右边显示文字描述,而不是上面展示的文字环绕在图片周围,此时我们同样可以通过创建一个BFC来解决这个问题:

img {  float: left;  width: 40px;  height: 40px;  margin-right: 10px;}p {  overflow: hidden;}

防止外边距折叠

常规文档流中,子元素都是沿着父元素顶部开始一个接着一个垂直摆放的,相邻兄弟间的垂直间距由他们中间距最大的一个元素决定,而不是叠加在一起,这就是边距折叠,举个例子:

one

two

.container {  width: 200px;  background-color: black;}p {  width: 150px;  background-color: green;}.one {  margin: 10px 0;}.two {  margin: 20px 0;}

3804362880-5bd07e88f046e_articlex.png

这种情况,我们可以通过创建一个新的BFC来解决

one

two

.container {  width: 200px;  background-color: black;}p {  width: 150px;  background-color: green;}.one {  margin: 10px 0;}.two {  margin: 20px 0;}.new {  overflow: hidden;}

3438803010-5bd0851070257_articlex.png

763315374-5bd08682b03ec_articlex.png

以上就是CSS中BFC(块级格式化上下文)的作用介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612820.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 03:14:37
下一篇 2025年12月24日 03:14:41

相关推荐

  • css实现简单背景模糊的方法(代码示例)

    本篇文章给大家带来的内容是介绍css实现简单背景模糊的方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 使用filter属性来设置模糊值 效果: css样式: .cover { width: 600px; height: 300px; position: relat…

    好文分享 2025年12月24日
    000
  • css如何添加文字下划线样式?(代码详解)

    css如何添加文字下划线样式?本篇文章就给大家介绍css添加文字下划线样式的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们来了解一下css添加文字下划线样式的方法有哪些。 1、css text-decoration属性添加文字下划线样式 2、css border-b…

    2025年12月24日
    000
  • 实例详解html+css实现静态分页效果(附代码)

    大家在浏览网站时有没有注意到网页上的分页效果,正在学习html和css的小伙伴,你会写静态html分页代码吗?这篇文章就结合实例给大家介绍html分页效果的制作步骤,最后将html分页代码分享给大家,供大家参考,感兴趣的小伙伴可以看看哦。 实现分页效果需要用到很多CSS中的属性,比如float浮动,…

    2025年12月24日
    000
  • CSS如何设置滚动条样式?CSS设置滚动条样式方法

    现在很多项目中都用到了滚动条,而且在有的时候,用到的是模拟滚动条,很多大型邮箱都是利用css样式来设置的,那么css如何设置滚动条样式?css如何设置滚动条样式方法有哪些? 一、webkit下面的CSS设置滚动条 上面是滚动条的主要几个设置属性,还有更详尽的CSS属性 :horizontal:水平方…

    2025年12月24日
    000
  • css中伪类和伪元素有什么区别?:before和::before的区别

    本篇文章给大家带来的内容是介绍css中伪类和伪元素有什么区别?:before和::before的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 伪类用于选择DOM树之外的信息,或是不能用简单选择器进行表示的信息。前者包含那些匹配指定状态的元素,比如:visited,:acti…

    好文分享 2025年12月24日
    000
  • css如何设置虚线边框?css设置虚线边框的方法示例

    在网页布局中,有时候为了整体网页的美观可能需要设置虚线边框,那么虚线边框怎么设置呢?本篇文章就来给大家介绍一下如何使用css来设置虚线边框。 首先我们应该知道css的border为边框属性,可以实现对象边框的效果,像是设置边框宽度、边框颜色、边框样式(实线还是虚线)等。 下面我们就来具体看看css的…

    2025年12月24日 好文分享
    000
  • 将导航栏固定在页面顶部的方法(图文详解)

    大家在浏览网站时有没有发现,几乎每个网站都有导航栏,而且有些导航可以固定在顶部不动,不管滚动条移动到哪里,都会固定在一个位置,你知道顶部固定导航栏怎么写吗?这篇文章就给大家讲讲如何使导航栏固定在顶部,以及导航栏固定在顶部的代码,有一定的参考价值,感兴趣的朋友可以看看。 实现将导航栏固定在顶部需要用到…

    2025年12月24日
    000
  • CSS如何实现三列布局?实现三列布局的3种方法(代码示例)

    本篇文章给大家带来的内容是介绍css如何实现三列布局?实现三列布局的3种方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 三列布局指的是两边两列定宽,中间的宽度自适应。 常用三种方法: 定位 浮动 立即学习“前端免费学习笔记(深入)”; 弹性盒布局 定位方式 最直观…

    2025年12月24日
    000
  • CSS如何实现文字两端对齐?实现文字两端对齐的方法

    本篇文章给大家带来的内容是介绍css如何实现文字两端对齐?实现文字两端对齐的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 最近的项目遇到了这样的需求:(要求标题部分不管文字多少,都必须两端对齐) 如下图: 当时也没有多想直接使用‘ ’进行代替,毕竟产品同学想快一点看到效果,…

    2025年12月24日
    000
  • 浅谈对CSS盒模型的认识?CSS盒模型的介绍

    本篇文章给大家带来的内容是浅谈对css盒模型的认识?css盒模型的介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 任何一个网页的搭建都离不开盒模型的堆砌。应该说css模型是web的一个根基,最后呈现出来的效果不同无非就是在高宽、内容与背景删的区别而已。 那么CSS模型有什么认…

    2025年12月24日
    000
  • css如何实现中间文字,两边横线的标题效果?(代码示例)

    本篇文章给大家带来的内容是介绍css如何实现中间文字,两边横线的标题效果?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 1. vertical-align属性实现效果: vertical-align 属性设置元素的垂直对齐方式。 该属性定义行内元素的基线相对于该元素…

    2025年12月24日
    000
  • 如何区分css中的:not()选择器和jQuery中的.not()方法?(代码示例)

    本篇文章给大家带来的内容是介绍如何区分css中的:not()选择器和jquery中的.not()方法?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 因为老是将这两个的not方法弄混,所以写一下备忘。 css中:not()选择器用法 :not 伪类选择器可以筛选不符合…

    好文分享 2025年12月24日
    000
  • 图文详解如何用html和CSS制作爱心特效

    css在页面布局中起到非常重要的作用,css不仅可以美化html搭建的页面,还可以制作出各种炫酷的效果,作为一个前端人员,你会用css画爱心吗?这篇文章就给大家分享如何用html和css绘制心形,以及css3实现爱心特效的代码,有一定的参考价值,感兴趣的朋友可以看看。 用html和CSS画爱心需要用…

    2025年12月24日
    000
  • css怎么设置倾斜的字体样式?(代码详解)

    css怎么设置倾斜的字体样式?本篇文章就给大家介绍用css设置倾斜字体样式的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们要知道在css中设置对象内字体倾斜常常是使用css font-style属性来实现的,font-style 属性可以定义字体的风格。 下面我们通…

    2025年12月24日
    000
  • 如何使用纯CSS实现一块乐高积木(附源码)

    本篇文章给大家带来的内容是关于php在web服务器上的运行模式详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,容器中包含一…

    2025年12月24日
    000
  • 如何使用纯CSS实现一张纪念卓别林的卡片(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现一张纪念卓别林的卡片(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom…

    2025年12月24日
    000
  • css实现垂直居中的6种方法(代码示例)

    本篇文章给大家带来的内容是介绍css实现垂直居中的6种方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 html结构 垂直居中 默认css样式结构 .box{ width:200px; height:200px; background-color:green; }.…

    2025年12月24日
    000
  • css中display:table和display:table-cell的合用的妙处

    本篇文章给大家带来的内容是介绍css中display:table和display:table-cell的合用的妙处 。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 display的table和table-cell一般情况下用的不多,所以很少有人去关注它,但他们两个联手起来会给你惊…

    2025年12月24日
    000
  • 实例示范CSS中伪类选择器hover的使用方法

    在页面布局时,经常会用到css中的hover选择器,它可以设置鼠标经过时的特殊样式,作为一个前端开发人员,你知道css伪类选择器hover怎么使用吗?这篇文章就和大家讲讲css中hover的使用方法及实例示范,有一定的参考价值,感兴趣的朋友可以看看。 伪类选择器hover可以在鼠标移到链接上时设置一…

    2025年12月24日 好文分享
    000
  • css怎么设置字体加粗样式

    css设置字体加粗样式的方法:首先创建一个HTML示例文件;然后在body中定义一些文字内容;最后通过“font-weight:bold;”或“font-weight:bolder;”属性设置字体加粗样式即可。 本文操作环境:Windows7系统、Dell G3电脑、HTML5&&C…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信