BFC基础知识

1、BFC 是什么?如何生成 BFC?BFC 有什么作用?举例说明。

BFC即块级格式化上下文,它能将渲染区域用formatting context表示,决定了其子元素将如何定位,以及和其他元素的关系和相互作用;

生成BFC的方法:

1、根元素自动生成BFC;

2、float属性不为none的元素;

3、position为absolute或fixed;

4、display为inline-block,flex等;

5、overflow不为visible。

作用:某个区域生成一个BFC之后,就是页面上一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,这样就能克服很多问题,如:

a、克服margin合并问题,同一个BFC内的相邻元素,子元素与父元素或祖先元素及元素本身都可能产生外边距合并的问题,这时,如果将BFC内的子元素也生成一个BFC,就能克服margin合并;

b、元素生成BFC之后,其不会再像普通元素一样与浮动元素产生重叠,另外给浮动元素生成BFC后,浮动元素会撑开父容器。

2、在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?

以下几种场景会出现外边距合并:

a、子元素与父元素或祖先元素之间合并,如:第一个子元素的margin-top会与父元素的margin-top合并,合并之后margin为父子元素margin中的较大值;

b、相邻元素之间合并,相邻元素之间,上面元素的margin-bottom会与下面元素的margin-top合并,合并之后两者之间的间距为两个margin中的较大值;

c、元素自身上下margin合并,如:一个元素内容为空时,为其设置margin后,其上下margin会合并。

相邻元素之间外边距合并无论是设置border、padding还是各自生成BFC都无法阻止外边距合并,最终合并成两者margin中的较大值,这种情况可以通过设置其中一个元素的margin为预期两者margin之和的方式来实现类似阻止边距合并的效果,但未在本质上解决外边距合并。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,696评论 1 92
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 4,574评论 0 2
  • 一,浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动模型是一种可视化格式模型,浮动...
    DeeJay_Y阅读 4,447评论 0 4
  • 1.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 概念:在CSS当...
    饥人谷_任磊阅读 4,079评论 0 3
  • 2009年06月Looking哥作为生物专业参加高考,作为3+X+综合的老考生来说,7/8/9,2天半的考试简直就...
    盐酸小檗碱阅读 1,868评论 0 0

友情链接更多精彩内容