當一個盒根據常規流或者浮動擺放好後,它可能會相對於該位置移動,這叫相對定位。css
相對定位的盒保持它在常規流中的大小,包括換行和空格都會原樣保留瀏覽器
relative與absolute的關係wordpress
在例1中,absolute
元素的top/left:0
的定位在瀏覽器窗口的左上角,而設置了relative
父元素的absolute
元素的top/left:0
在relative
元素的左上角
在例2中,relative
元素與absolute
元素同級的時候,z-index:2
,後面的覆蓋前面的元素.當relative
元素與absolute
元素嵌套時,relative
元素的z-index
決定層疊順序,absolute
元素z-index
失效
在例3中,普通div
元素設置的overflow:hidden
對於子元素是absolute
的元素無效,而設置relative
的div
元素設置overflow:hidden
能夠在子元素absolute
中生效code
也就是說relative
能夠:圖片
限制left/top/right/bottom定位get
限制z-index
層級it
限制在overflow
下失效的問題io
而對於fixed
,relative
只能限制z-index
層級margin
在例1中,設置left/top:0
後,relative
元素不會發生任何變化,而設置了left/top:100px
後,元素相對於它自己向右和向下分別偏移了100px
在例2中,第二個圖片position: relative;left: -999em;
,雖然它看不見了,可是它的位置保留了下來
在例3中,一個relative
元素同時設置top/bottom:100px
或者left/right:100px
,起做用的是left:100px
,top:100px
在例1中,設置了relative
的元素層級要比普通元素高
在例2中,relative
元素與absolute
元素同級的時候,z-index:2
,後面的覆蓋前面的元素.當relative
元素與absolute
元素嵌套時,relative
元素的z-index
決定層疊順序,absolute
元素z-index
失效
在例3中,z-index:auto
比z-index:1
優先級小,至於子元素的重疊,須要計算子元素的z-order
決定
在能夠單獨使用absolute
解決問題的時候,不要使用relative
,若有誤差,能夠配合margin
使用
必定要使用relative
的時候,要保證做用範圍最小化