摘要:通常認(rèn)為頁(yè)面是二維的,但實(shí)際上,還有一個(gè)屬性,允許層疊元素。所有的盒模型元素都處于三維坐標(biāo)系中。多個(gè)元素的屬性相同時(shí),將按照上文描述的順序布局。使用排序的例子注意,的無(wú)效,因?yàn)槲粗付▽傩浴C總€(gè)堆疊上下文和它的同級(jí)上下文是獨(dú)立的。
通常認(rèn)為HTML頁(yè)面是二維的,但實(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屬性,那么元素按照如下順序疊放(從底到頂)
根元素的背景和邊界
普通流(無(wú)定位)里的塊元素(沒有position或者position:static;)按HTML中的出現(xiàn)順序堆疊
定位元素按HTML中的出現(xiàn)順序堆疊
浮動(dòng)對(duì)于浮動(dòng)的塊元素來(lái)說,堆疊順序變得有些不同。浮動(dòng)塊元素被放置于非定位塊元素與定位塊元素之間:
根元素的背景與邊框
位于普通流中的后代塊元素按照它們?cè)?HTML 中出現(xiàn)的順序堆疊
浮動(dòng)塊元素
常規(guī)流中的后代行內(nèi)元素
后代中的定位元素按照它們?cè)?HTML 中出現(xiàn)的順序堆疊
使用 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排序的例子:
注意,div#5的z-index無(wú)效,因?yàn)槲粗付?b>position屬性。
堆疊上下文指定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è)堆疊上下文是自包含的。
原文 Understanding CSS z-index
節(jié)譯 SegmentFault
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/110841.html
摘要:張?chǎng)涡竦纳钊肜斫庵畬W(xué)習(xí)筆記層疊上下文什么是層疊上下文在軸上延伸出一個(gè)層級(jí),離父級(jí)層疊上下文的頂部更近。遵循后來(lái)居上和誰(shuí)大誰(shuí)上的層疊原則。 張?chǎng)涡竦腃SS深入理解之z-index學(xué)習(xí)筆記 層疊上下文 什么是層疊上下文?在z軸上延伸出一個(gè)層級(jí),離父級(jí)層疊上下文的頂部更近。 如何產(chǎn)生層疊上下文? 根元素具有根層疊上下文 z-index不為auto的定位元素 一個(gè) z-index 值不為 ...
摘要:栗子有兩個(gè),被包裹在一個(gè)里,被包裹在另一個(gè)盒子里,同時(shí)為兩個(gè)和設(shè)置和屬性效果我們發(fā)下,雖然元素的值為,遠(yuǎn)大于和的值,但是由于的父元素產(chǎn)生的層疊上下文的的值為,的父元素所產(chǎn)生的層疊上下文的值為,所以永遠(yuǎn)在和下面。 前言 最近,在項(xiàng)目中遇到一個(gè)關(guān)于CSS中元素z-index屬性的問題,具體問題不太好描述,總結(jié)起來(lái)就是當(dāng)給元素和父元素色設(shè)置position屬性和z-index相關(guān)屬性后,頁(yè)面...
摘要:栗子有兩個(gè),被包裹在一個(gè)里,被包裹在另一個(gè)盒子里,同時(shí)為兩個(gè)和設(shè)置和屬性效果我們發(fā)下,雖然元素的值為,遠(yuǎn)大于和的值,但是由于的父元素產(chǎn)生的層疊上下文的的值為,的父元素所產(chǎn)生的層疊上下文的值為,所以永遠(yuǎn)在和下面。 前言 最近,在項(xiàng)目中遇到一個(gè)關(guān)于CSS中元素z-index屬性的問題,具體問題不太好描述,總結(jié)起來(lái)就是當(dāng)給元素和父元素色設(shè)置position屬性和z-index相關(guān)屬性后,頁(yè)面...
摘要:當(dāng)?shù)诙拥娜萜骱凶由?jí)為層疊上下文時(shí),紅色盒子及灰色盒子的軸層級(jí)受制于第二層的容器盒子。當(dāng)元素處于同一層疊上下文內(nèi)時(shí)可按照如下規(guī)則進(jìn)行層疊判斷。 本文首發(fā)于政采云前端團(tuán)隊(duì)博客:CSS 層疊上下文(Stacking Context) 在網(wǎng)頁(yè)制作的過程中,元素與元素之間的位置關(guān)系,在坐標(biāo)軸上一般可體現(xiàn)為 X 軸、Y 軸和 Z 軸。對(duì)于 X 軸和 Y 軸的定位大多數(shù)開發(fā)都能比較直觀的搞清楚...
閱讀 2070·2023-04-26 01:41
閱讀 2587·2021-11-24 09:39
閱讀 2000·2021-11-24 09:38
閱讀 2042·2021-11-19 09:40
閱讀 3896·2021-11-11 11:02
閱讀 3356·2021-10-20 13:48
閱讀 3352·2021-10-14 09:43
閱讀 4614·2021-09-02 15:11