CSS核心概念归纳之定位和BFC

作者: 萧潇在jianshu | 来源:发表于2017-07-17 08:57 被阅读30次

定位

流定位

普通流定位的元素不能通过left/top属性来指定其x/y坐标,流定位的元素上下排布的区块元素的纵向边距会被合并,左右排布的内联元素的横向边距不会合并,需要各自独立计算。

浮动定位

浮动模型是一种可视化格式模型,浮动的框可以左右移动,直到它的外边碰到包含框或者另外一个浮动的元素边框。浮动元素不在普通的文档流中,文档的普通流元素表现的就像浮动的元素不存在一样。

相对定位

相对定位的元素会在文档中占据原来的位置,只是表现出来的位置会改变。

绝对定位

绝对定位的元素位置与文档流无关,也不会占据文档流的空间,普通流中的元素布局就像绝对定位的元素不存在一样。

固定定位

相对于视口进行定位。

BFC

BFC全称是block format content即块级格式化作用域。

三个特征
  • BFC会阻止垂直外边距的折叠。(当同属一个BFC时,两个元素有可能发生垂直的重叠,要解决margin重叠,只要让他们不在同一个BFC就行了,对于两个相邻的元素来说,意义不大,没有必要给他加一个外壳,但是对于嵌套元素来说就很有必要了,只要把父元素设置为BFC就行了,这样元素的margin就不会和父元素的margin重叠了)
  • BFC不会重叠浮动元素
  • BFC可以包含浮动
形成BFC的条件
  • float:left|right
  • overflow:hidden|auto|scroll
  • display:table-cell|table-caption|inline-block
  • position:absolute|fixed

通用的清除浮动的方式

.clearfix {
    *zoom: 1;
}

.clearfix::after {
    content: '';
    display:block;
    height: 0;
    visibility: hidden;
    clear:left;
}
.clearfix {
  *zoom: 1;
}
.clearfix::after {
    content: '';
    display: table;
    clear:both;
}

总结

清除浮动只有两种方式,一是使用clear属性清除浮动,二是使父容器形成BFC。

相关文章

  • CSS核心概念归纳之定位和BFC

    定位 流定位 普通流定位的元素不能通过left/top属性来指定其x/y坐标,流定位的元素上下排布的区块元素的纵向...

  • CSS BFC和CSS hack

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

  • 关于CSS的BFC

    参考:理解CSS布局和BFCCSS深入理解流体特性和BFC特性下多栏自适应布局 1、概念BFC(Block For...

  • BFC

    什么是BFC? 简单的来说:BFC就是一个css的一个布局概念,是一个独立的区域,是一个环境。 文档流 说BFC之...

  • CSS:浮动定位和BFC

    一、浮动元素 特征 浮动元素会脱离文档流,并按照指定的方向移动,直到其碰到父元素边框或另一个浮动元素的边缘。普通文...

  • CSS2.1

    CSS CSS2.1 固定定位的扩展理解 经典布局 BFC Box Formatting Context Bloc...

  • BFC原理

    BFC是什么? 了解BFC之前,先了解Box,Formatting Content的概念 Box:CSS布局的基本...

  • BFC

    BFC的概念 CSS规范对其的定义是:浮动,绝对定位元素,非块盒的块容器(例如,inline-blocks,tab...

  • CSS中重要的BFC

    CSS中有个重要的概念BFC,搞懂BFC可以让我们理解CSS中某些原本诡异(??)的地方。 1. 简介 在解释BF...

  • 理解 CSS 布局和块级格式上下文

    前言 BFC 的概念始于 CSS2,是个蛮古老的 CSS 话题了,网上也到处能搜到 BFC 的介绍,但是都不够简洁...

网友评论

    本文标题:CSS核心概念归纳之定位和BFC

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