摘要:通常認為頁面是二維的,但實際上,還有一個屬性,允許層疊元素。所有的盒模型元素都處于三維坐標(biāo)系中。多個元素的屬性相同時,將按照上文描述的順序布局。使用排序的例子注意,的無效,因為未指定屬性。每個堆疊上下文和它的同級上下文是獨立的。
通常認為HTML頁面是二維的,但實際上,CSS還有一個z-index屬性,允許層疊元素。
所有的盒模型元素都處于三維坐標(biāo)系中。 除了我們常用的橫坐標(biāo)和縱坐標(biāo), 盒模型元素還可以沿著“z軸”層疊擺放, 當(dāng)他們相互覆蓋時, z軸順序就變得十分重要。
-- CSS 2.1 Section 9.9.1 - Layered presentation
默認的擺放規(guī)則假定元素沒有指定z-index屬性,那么元素按照如下順序疊放(從底到頂)
根元素的背景和邊界
普通流(無定位)里的塊元素(沒有position或者position:static;)按HTML中的出現(xiàn)順序堆疊
定位元素按HTML中的出現(xiàn)順序堆疊
浮動對于浮動的塊元素來說,堆疊順序變得有些不同。浮動塊元素被放置于非定位塊元素與定位塊元素之間:
根元素的背景與邊框
位于普通流中的后代塊元素按照它們在 HTML 中出現(xiàn)的順序堆疊
浮動塊元素
常規(guī)流中的后代行內(nèi)元素
后代中的定位元素按照它們在 HTML 中出現(xiàn)的順序堆疊
使用 z-index如果需要改變默認的擺放順序,只需給元素指定z-index。z-index必須是整數(shù),體現(xiàn)了元素在z軸的位置:
底層:距離觀察者最遠
……
-3 層
-2 層
-1 層
0 層 (默認)
1 層
2 層
3 層
……
頂層:最接近觀察者
沒有指定z-index的時候,所有元素默認在0層渲染。多個元素的z-index屬性相同時,將按照上文描述的順序布局。
使用z-index排序的例子:
注意,div#5的z-index無效,因為未指定position屬性。
堆疊上下文指定z-index屬性將構(gòu)造一個堆疊上下文。
以下元素構(gòu)成堆疊上下文指:
根元素html
定位元素,且其z-index值不為auto
opacity小于1的元素
在移動WebKit、Chrome22+以上,指定position: fixed的元素總是會構(gòu)造堆疊上下文,即使z-index為auto。
堆疊上下文中的子元素按照前述順序擺放。堆疊上下文內(nèi)部的子堆疊上下文的z-index只在父堆疊上下文中有意義。
總而言之:
z-index不為auto,opacity小于1的元素會構(gòu)建堆疊上下文。
堆疊上下文可以嵌入其他堆疊上下文。
每個堆疊上下文和它的同級上下文是獨立的。
每個堆疊上下文是自包含的。
原文 Understanding CSS z-index
節(jié)譯 SegmentFault
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/110841.html
摘要:張鑫旭的深入理解之學(xué)習(xí)筆記層疊上下文什么是層疊上下文在軸上延伸出一個層級,離父級層疊上下文的頂部更近。遵循后來居上和誰大誰上的層疊原則。 張鑫旭的CSS深入理解之z-index學(xué)習(xí)筆記 層疊上下文 什么是層疊上下文?在z軸上延伸出一個層級,離父級層疊上下文的頂部更近。 如何產(chǎn)生層疊上下文? 根元素具有根層疊上下文 z-index不為auto的定位元素 一個 z-index 值不為 ...
摘要:栗子有兩個,被包裹在一個里,被包裹在另一個盒子里,同時為兩個和設(shè)置和屬性效果我們發(fā)下,雖然元素的值為,遠大于和的值,但是由于的父元素產(chǎn)生的層疊上下文的的值為,的父元素所產(chǎn)生的層疊上下文的值為,所以永遠在和下面。 前言 最近,在項目中遇到一個關(guān)于CSS中元素z-index屬性的問題,具體問題不太好描述,總結(jié)起來就是當(dāng)給元素和父元素色設(shè)置position屬性和z-index相關(guān)屬性后,頁面...
摘要:栗子有兩個,被包裹在一個里,被包裹在另一個盒子里,同時為兩個和設(shè)置和屬性效果我們發(fā)下,雖然元素的值為,遠大于和的值,但是由于的父元素產(chǎn)生的層疊上下文的的值為,的父元素所產(chǎn)生的層疊上下文的值為,所以永遠在和下面。 前言 最近,在項目中遇到一個關(guān)于CSS中元素z-index屬性的問題,具體問題不太好描述,總結(jié)起來就是當(dāng)給元素和父元素色設(shè)置position屬性和z-index相關(guān)屬性后,頁面...
摘要:當(dāng)?shù)诙拥娜萜骱凶由墳閷盈B上下文時,紅色盒子及灰色盒子的軸層級受制于第二層的容器盒子。當(dāng)元素處于同一層疊上下文內(nèi)時可按照如下規(guī)則進行層疊判斷。 本文首發(fā)于政采云前端團隊博客:CSS 層疊上下文(Stacking Context) 在網(wǎng)頁制作的過程中,元素與元素之間的位置關(guān)系,在坐標(biāo)軸上一般可體現(xiàn)為 X 軸、Y 軸和 Z 軸。對于 X 軸和 Y 軸的定位大多數(shù)開發(fā)都能比較直觀的搞清楚...
閱讀 2000·2023-04-26 01:41
閱讀 2498·2021-11-24 09:39
閱讀 1936·2021-11-24 09:38
閱讀 1965·2021-11-19 09:40
閱讀 3786·2021-11-11 11:02
閱讀 3308·2021-10-20 13:48
閱讀 3191·2021-10-14 09:43
閱讀 4425·2021-09-02 15:11