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也只能设置一个。