博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BFC
阅读量:4952 次
发布时间:2019-06-11

本文共 923 字,大约阅读时间需要 3 分钟。

 

BFC 是什么

        FC( formatting context ) 格式化上下文,是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。

        BFC( block formatting context ) 块级格式化上下文, 它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。

如何触发BFC

       1、float属性不为none

       2、position为absolute或fixed

       3、display为inline-block, table-cell, table-caption, flex, inline-flex

       4、overflow不为visible

BFC 的作用

       1、清理浮动

        代码:

浮动清理前

        结果:

        

       清理浮动:

      1) 添加代码:

.wrapper{        overflow:hidden;  }

       结果(父级依旧为块级block):

       

       2) 添加代码:

.wrapper{    float: left;} /*或者*/
.wrapper{    position: absolute;}
/*或者*/
.wrapper{    display: inline-block;}

        结果(父级为 inline-block):

        

         原因是块级元素设置了  float:left/right;  或者  position:absolute/fixed; 后, 内部会把块级元素转换为 display:inline-block; 

 

注意:

        在为了解决问题而添加 BFC规则时,需要根据实际情况慎重选择合适的方法触发,比如上面的清理浮动,如果父级盒子必须为block, 就最多只能选择 overflow:hidden;  但是有时候子元素需要超出父元素,这时就不能用 overflow:hidden;  如果父元素又要为block 又要子元素超出父元素,这时就可以使用 伪元素 ::after来解决()。

 

 

 

        

转载于:https://www.cnblogs.com/xingyue525/p/10924882.html

你可能感兴趣的文章
51nod 1247可能的路径
查看>>
js05-DOM对象二
查看>>
mariadb BINLOG_FORMAT = STATEMENT 异常
查看>>
C3P0 WARN: Establishing SSL connection without server's identity verification is not recommended
查看>>
iPhone在日本最牛,在中国输得最慘
查看>>
动态方法决议 和 消息转发
查看>>
WPF自定义搜索框代码分享
查看>>
js 基础拓展
查看>>
SpringBoot访问html访问不了的问题
查看>>
{width=200px;height=300px;overflow:hidden}
查看>>
C#生成随机数
查看>>
CSS基础学习 20.CSS媒体查询
查看>>
2019春季第十一周作业
查看>>
洛谷P4591 [TJOI2018]碱基序列 【KMP + dp】
查看>>
iOS CoreData介绍和使用(以及一些注意事项)
查看>>
OS笔记047代理传值和block传值
查看>>
Android应用程序与SurfaceFlinger服务的连接过程分析
查看>>
coco2dx服务器简单例子
查看>>
Java回顾之多线程
查看>>
sqlite
查看>>