css position

position属性包括static, absolute, relative, fixed, 默认属性为static。

1. static

  所有元素的默认定位都是static;

  如果这么写position:static; 这意味着元素没有被定位,而且在文档中出现在它应该在的位置。

 2. fixed

  TRBL相对于浏览器左上角;元素位置固定,不会随滚动条滚动。

  fixed在ie6中还不支持。

3. absolute_with_TRBL

  如果定义了absolute,也定义了TRBL(注意0px也算是定义过了),那么分两种情况:

  • 父级元素定义了position属性(父元素 position: static;不算,因为static属性是默认属性,定义与不定义都相当于没定义),以父级的“坐标原始点”(从padding部分开始算起)为原始点。
  • 父级元素没有定义position属性,则以浏览器页面左上角为原始点。

4 . absolute_without_TRBL

  如果定义了 absolute,而没有定义TRBL(注意,0px也算定义),无论父级元素有没有定义position属性,都以父级的“内容区域原始点”为原始点。

5. relative

  TRBL相对于该元素本应该在文档中出现的位置来移动该元素。

  

最后:

  fixed和absolute定位的元素脱离了文档流,而static和relative定位的元素则没有。

  无论是relative还是absolute,left和right只能设置一个,top和bottom也只能设置一个。

    

原文地址:https://www.cnblogs.com/iamswf/p/4630539.html