float、position与display关系

提问:position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?

float、position 和 display 之间的关系:

  1. 如果display的值为none,那么后两者就不会产生作用,也不会有任何的盒子产生;
  2. 除此之外,如果元素为absolute或者fixed定位,那么float的属性值相当于‘none’,display的属性如下面的表格所示。 
    盒的位置根据“top”,“right”,“bottom”和“left”属性与盒的包含块决定。
  3. 除此之外,如果float属性的值为不是none,那么元素将会浮动,元素的display属性将如下表所示;
  4. 除此之外,如果元素是根元素,那么元素的属性如下表所示;
  5. 除此之外,元素的display属性则根据设定来取值。

这里写图片描述

这里写图片描述

这是由于float和绝对定位都是使用块框架(block layout)来显示,所以会隐式地改变display的值。

margin collapse 外边距合并

浮动绝对定位元素外边距不会合并。

overflow

overflow可以应用于float和定位元素。 
如果一个绝对定位元素的内容溢出其内容框,而且overflow设置为要求剪裁该内容,使用clip属性可以改变剪裁区域的形状。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页