css BFC

痛定思痛。 2023-10-12 08:09 138阅读 0赞

一、何为BFC

  1. BFCBlock Formatting Context)格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。

二、形成BFC的条件

  1. 1、浮动元素,float none 以外的值;
  2. 2、定位元素,positionabsolutefixed);
  3. 3display 为以下其中之一的值 inline-blocktable-celltable-caption
  4. 4overflow 除了 visible 以外的值(hiddenautoscroll);

三、BFC的特性

  1. 1.内部的Box会在垂直方向上一个接一个的放置。
  2. 2.垂直方向上的距离由margin决定
  3. 3.bfc的区域不会与float的元素区域重叠。
  4. 4.计算bfc的高度时,浮动元素也参与计算
  5. 5.bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素。
  6. BFCBlock formatting contexts):块级格式上下文
  7. 页面上的一个隔离的渲染区域,那么他是如何产生的呢?可以触发BFC的元素有floatpositionoverflowdisplaytable-cell/ inline-block/table-caption BFC有什么作用呢?比如说实现多栏布局’
  8. IFCInline formatting contexts):内联格式上下文
  9. IFCline box(线框)高度由其包含行内元素中最高的实际高度计算而来(不受到竖直方向的padding/margin影响)IFC中的line box一般左右都贴紧整个IFC,但是会因为float元素而扰乱。float元素会位于IFC与与line box之间,使得line box宽度缩短。 同个ifc下的多个line box高度会不同
  10. IFC中时不可能有块级元素的,当插入块级元素时(如p中插入div)会产生两个匿名块与div分隔开,即产生两个IFC,每个IFC对外表现为块级元素,与div垂直排列。
  11. 那么IFC一般有什么用呢?
  12. 水平居中:当一个块要在环境中水平居中时,设置其为inline-block则会在外层产生IFC,通过text-align则可以使其水平居中。
  13. 垂直居中:创建一个IFC,用其中一个元素撑开父元素的高度,然后设置其vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。
  14. GFCGrideLayout formatting contexts):网格布局格式化上下文
  15. 当为一个元素设置display值为grid的时候,此元素将会获得一个独立的渲染区域,我们可以通过在网格容器(grid container)上定义网格定义行(grid definition rows)和网格定义列(grid definition columns)属性各在网格项目(grid item)上定义网格行(grid row)和网格列(grid columns)为每一个网格项目(grid item)定义位置和空间。那么GFC有什么用呢,和table又有什么区别呢?首先同样是一个二维的表格,但GridLayout会有更加丰富的属性来控制行列,控制对齐以及更为精细的渲染语义和控制。
  16. FFCFlex formatting contexts):自适应格式上下文
  17. display值为flex或者inline-flex的元素将会生成自适应容器(flex container),可惜这个牛逼的属性只有谷歌和火狐支持,不过在移动端也足够了,至少safarichrome还是OK的,毕竟这俩在移动端才是王道。Flex Box 由伸缩容器和伸缩项目组成。通过设置元素的 display 属性为 flex inline-flex 可以得到一个伸缩容器。设置为 flex 的容器被渲染为一个块级元素,而设置为 inline-flex 的容器则渲染为一个行内元素。伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸缩容器外和伸缩项目内的一切元素都不受影响。简单地说,Flexbox 定义了伸缩容器内伸缩项目该如何布局。

转载于:https://www.cnblogs.com/anbozhu7/p/11268995.html

发表评论

表情:
评论列表 (有 0 条评论,138人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CSSBFC详解

    概念 BFC(Block Formatting Context)直译为“块级格式化范围”,也可称为“格式化上下文”。是 W3C CSS 2.1 规范中的一个概念,它决...

    相关 css BFC

    一、何为BFC        BFC(Block Formatting Context)格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一

    相关 css BFC

    > BFC(Block Formatting Context):块级格式上下文 > BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之也如此

    相关 [CSS]BFC原理

    一、BFC 概念 BFC 即 Block Formatting Contexts (块级格式化上下文),它属于上述定位方案的普通流。 具有 BFC 特性的元素可以看作是

    相关 CSSBFC详解

    在了解BFC前,首先需要知道它是什么,它有哪些特性,它是如何形成的。 一、什么是BFC BFC(Block Formatting Context)块级格式化上下文,是W