欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

舉例詳解CSS的z-index屬性的使用

segmentfault   發(fā)布時(shí)間:2015-07-18 16:24:01   作者:weakish   我要評(píng)論
這篇文章主要介紹了舉例詳解CSS的z-index屬性的使用,文中給出了布局示例的結(jié)構(gòu)圖,需要的朋友可以參考下

通常認(rèn)為HTML頁面是二維的,但實(shí)際上,CSS還有一個(gè)z-index屬性,允許層疊元素。

    所有的盒模型元素都處于三維坐標(biāo)系中。 除了我們常用的橫坐標(biāo)和縱坐標(biāo), 盒模型元素還可以沿著“z軸”層疊擺放, 當(dāng)他們相互覆蓋時(shí), z軸順序就變得十分重要。

-- CSS 2.1 Section 9.9.1 - Layered presentation
默認(rèn)的擺放規(guī)則

假定元素沒有指定z-index屬性,那么元素按照如下順序疊放(從底到頂)

    根元素的背景和邊界
    普通流(無定位)里的塊元素(沒有position或者position:static;)按HTML中的出現(xiàn)順序堆疊
    定位元素按HTML中的出現(xiàn)順序堆疊
    2015718163212335.png (471×365)

浮動(dòng)

對(duì)于浮動(dòng)的塊元素來說,堆疊順序變得有些不同。浮動(dòng)塊元素被放置于非定位塊元素與定位塊元素之間:

    根元素的背景與邊框
    位于普通流中的后代塊元素按照它們?cè)?HTML 中出現(xiàn)的順序堆疊
    浮動(dòng)塊元素
    常規(guī)流中的后代行內(nèi)元素
    后代中的定位元素按照它們?cè)?HTML 中出現(xiàn)的順序堆疊
2015718163243040.png (563×255)

使用 z-index

如果需要改變默認(rèn)的擺放順序,只需給元素指定z-index。z-index必須是整數(shù),體現(xiàn)了元素在z軸的位置:

    底層:距離觀察者最遠(yuǎn)
    ……
    -3 層
    -2 層
    -1 層
    0 層 (默認(rèn))
    1 層
    2 層
    3 層
    ……
    頂層:最接近觀察者

沒有指定z-index的時(shí)候,所有元素默認(rèn)在0層渲染。多個(gè)元素的z-index屬性相同時(shí),將按照上文描述的順序布局。

使用z-index排序的例子:
2015718163539584.png (468×365)

注意,div#5的z-index無效,因?yàn)槲粗付╬osition屬性。
堆疊上下文

指定z-index屬性將構(gòu)造一個(gè)堆疊上下文。

以下元素構(gòu)成堆疊上下文指:

    根元素html
    定位元素,且其z-index值不為auto
    opacity小于1的元素
    在移動(dòng)WebKit、Chrome22+以上,指定position: fixed的元素總是會(huì)構(gòu)造堆疊上下文,即使z-index為auto。

堆疊上下文中的子元素按照前述順序擺放。堆疊上下文內(nèi)部的子堆疊上下文的z-index只在父堆疊上下文中有意義。

總而言之:

    z-index不為auto,opacity小于1的元素會(huì)構(gòu)建堆疊上下文。
    堆疊上下文可以嵌入其他堆疊上下文。
    每個(gè)堆疊上下文和它的同級(jí)上下文是獨(dú)立的。
    每個(gè)堆疊上下文是自包含的。
2015718163605289.png (465×396)

相關(guān)文章

最新評(píng)論