一、relative and absolut
relative对于absolute的限制:
(1)限制定位
当absolute使用top/left/bottom/right进行定位时,是相对最近已定位的父元素而言的
(2)限制层级
与最近已定位父元素的层级相同
(3)限制超越overflow
absolute可以不管overflow:hidden(或者overflow:scroll等),但是当存在relative的父元素的时候,就受其限制了
二、relative and fixed
对于fixed而言,relative只能限制层级。
三、定位特性
(1)相对自身定位
(2)无侵入
不影响周边的元素的布局
实例应用:自定义拖拽而不影响布局
(3)对立定位元素的表现
绝对定位是拉伸
相对定位时斗争 (top>bottom left>right)
(4)z-index
可以提高层叠上下文
但是如果z-index:auto,则不会产生层叠上下文,对内部层级没有限制了。(不会再限制内部absolute元素的蹭碟问题)
但是这种规范不包括IE6/7,因为就算为auto,也会创建层叠上下文,故很容易发生层级覆盖的bug.
四、relative最小化影响原则
尽量降低relative属性对其他元素或者布局的潜在影响
(1)尽量避免使用relative
absolute的定位不受限于relative(使用margin定位)
(2)最小化原则
将需要设置relative的块限制在最小范围内。