absolute包裹性展現html
跟float
同樣,absolute
也具備包裹性,二者的包裹性都相似於使元素inline-block
化.瀏覽器
相對於float
引發父元素塌陷,absolute
要更進一步,上面的例子就能夠看出,absolute
元素徹底脫離文檔流,而且被其它盒子以及盒子內的文本無視字體
因爲absolute
濫用會下降擴展性和維護性,因此須要儘可能少使用absolute
spa
經過給span
標籤設置一個div
,設置div
的margin
實現htm
這個案例有三個圖標覆蓋,第一個hot圖標使用absolute
+margin
,設置margin
調整位置牢牢跟隨header
導航最後一個導航連接字體;第二個使用元素脫離文檔流,後面的圖片直接無視absolute
的原理實現重疊;第三個vip圖標設置absolute
屬性後,位置跟原先的位置同樣,也就是在圖片的後面牢牢跟隨,而後設置margin-left
圖標寬度的負值就能夠完成圖標覆蓋,這裏須要注意的一點是爲了保證圖片和圖標之間沒有空隙,須要在它們之間設置註釋<!-- -->
ip
這個案例咱們主要利用的是absolute
的跟隨性,配合margin
使搜索結果定位到搜索框下邊框
第一個例子是圖片居中對齊,父元素設置text-align:center
,子元素因爲是inline-block
元素,因此會居中,爲了兼容IE瀏覽器,須要在圖片前面設置 
,由於 
須要佔據0.25em
因此咱們在父元素設置letter-spacing:-.25em
第二個例子是右下角邊緣對齊,父元素設置text-align:right
,子元素設置position:fixed
固定定位,而且須要display:inline
爲了防止錯位
第一個例子是讓星號絕對定位,而後它脫離文檔流,不佔用任何空間,因此後面的文字對齊就不受影響
第二個例子圖標使用絕對定位,而後讓小圖標作偏移圖表寬度,這就實現了圖文對齊
第三個例子是文字溢出,使用無依賴絕對定位,文字不斷行
這個例子使用絕對對位元素left: 0; top: 0; right: 0; bottom: 0;
能夠實現寬高百分之百的拉伸特性,父元素設置inline-block
具備包裹性,咱們在這裏設置的半透明遮罩層能夠完美覆蓋圖片
通常狀況下,父級容器設置height:auto
,子元素不能使用百分比高度,這時,子元素設置left: 0; top: 0; right: 0; bottom: 0;
利用絕對元素拉伸特性,也可使用百分比高度
同時設置left/right
與width
起做用的會是width
,這時候再使用margin-left/margin-right:auto
會使絕對定位水平居中,垂直居中同理,這也就是使用absolute
的水平垂直居中的原理
這個例子的實現思路是設置一個width:100%;height:999em
的空絕對定位元素,放在側邊欄,給側邊欄添加position:relative
限制,而後在絕對定位元素同級放置一個設置position:relative;z-index:1
元素包裹住圖片,把圖片都設置爲display:block
,最後把容器設置overflow:hidden
實現原理是因爲絕對定位元素無高度特性無寬度特性,咱們能夠僞造一個高度足夠高的絕對定位層,同時設置父元素溢出隱藏,那麼其多出來的高度就不會顯示了,也就實現了看上去的等高佈局效果