定位与BFC

作者: 饥人谷_bigJiao | 来源:发表于2018-03-22 11:19 被阅读0次
  • BFC

    • 形成(4种)

      1. float
      2. absolutely positioned elements:
      positione: absolute, fixed;
      
      1. block containers (such as inline-blocks, table-cells, and table-captions) that are not block boxes,
      display: inline-blocks, table-cells, table-captions;
      

      4.block boxes with 'overflow' other than 'visible' (except when that value has been propagated to the viewport) establish new block formatting contexts for their contents.

      overflow: auto, hidden, scroll
      
    • 同一个BFC中的元素遵守下列规则

    1. 从上到下排列
    2. 垂直外边距合并
    3. 重叠浮动元素
    • BFC之间的规则
    1. BFC会阻止垂直外边距(margin-top、margin-bottom)折叠
    • 按照BFC的定义,只有同属于一个BFC时,两个元素才有可能发生垂直Margin的重叠,这个包括相邻元素,嵌套元素,只要他们之间没有阻挡(例如边框,非空内容,padding等)就会发生margin重叠。
    • 因此要解决margin重叠问题,只要让它们不在同一个BFC就行了,但是对于两个相邻元素来说,意义不大,没有必要给它们加个外壳,但是对于嵌套元素来说就很有必要了,只要把父元素设为BFC就可以了。这样子元素的margin就不会和父元素的margin发生重叠
    1. BFC不会重叠浮动元素
    2. BFC可以包含浮动
  • 定位机制

    • CSS有三种基本的定位机制:普通流,浮动,绝对定位(absolute,fixed)
    1. 普通流是默认定位方式,在普通流中元素框的位置由元素在html中的位置决定,这也是我们最常见的方式,其中position: static与position:relative属于普通流的定位方式
    2. 浮动定位
    3. 绝对定位包括 absolute和 fixed

    2和3 元素都会脱离文档的普通流
    注意:position:relative 属于普通流,元素位置会发生偏移,但是并不会影响其他元素的布局

  • 绝对定位宽度

    • 绝对定位宽度是收缩的,如果想撑满父容器,可以设置 width: 100%
  • transform: translate, scale
  • 布局

    • 消除两个按钮之间的空隙
      1. 让标签之间没有空隙
      2. 先display为inline-block,再父元素font-size设置为0,子元素不为0即可
      3. 用浮动,即先用一个块级元素包裹住按钮。然后让两个按钮浮动,清除浮动后再让新添加的块级元素居中

      1和2不要用,只在面试时候回答即可。布局中尽量不用inline-block(除非是inline-block的元素是独一无二的,没有兄弟)

  • flex

    • 这可能有些容易混淆,但align-content决定行之间的间隔,而align-items决定元素整体在容器的什么位置。只有一行的时候align-content没有任何效果

相关文章

  • 定位与BFC

    BFC形成(4种)floatabsolutely positioned elements:positione: a...

  • 关于BFC

    1、普通流(所有元素默认都是普通流定位) 2、浮动 3、绝对定位 BFC属于普通流 4、BFC(当元素具有了bfc...

  • 浮动,定位与BFC详解

    浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素的特征,对普通元素的影响:一个...

  • CSS BFC和CSS hack

    简述CSS BFC和CSS hack BFC BFC定义:浮动元素和绝对定位元素,非块级盒子的块级容器(例如inl...

  • BFC

    BFC 参考 https://zhuanlan.zhihu.com/p/25321647 常见的定位方式 普通定位...

  • CSS 块级化上下文 BFC

    概念BFC(块级化上下文) 是一个独立渲染的区域,处于 BFC 内部的元素与外部的元素互相隔离,使内外元素的定位不...

  • CSS 块级化上下文 BFC

    概念BFC(块级化上下文) 是一个独立渲染的区域,处于 BFC 内部的元素与外部的元素互相隔离,使内外元素的定位不...

  • BFC回顾

    很多人问我到底什么是BFC,这里统一解释。 BFC定义 BFC,中文翻译为格式化上下文,其定义是:浮动、绝对定位(...

  • 浮动定位BFC

    1.浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动模型也是一种可视化格式模型,浮...

  • 浮动定位BFC

    浮动元素的特征,对于父容器、其他浮动元素、普通元素和文字分别都有什么影响? 对于父容器 浮动元素会生成一个块级框,...

网友评论

    本文标题:定位与BFC

    本文链接:https://www.haomeiwen.com/subject/wbtaqftx.html