在CSS中,有一種叫做“優先級”的概念。它表示的是當多個CSS規則作用于同一個元素時,哪一個規則具有更高的權重,從而可以應用到該元素上。
CSS的優先級既可以通過元素的選擇器的特定性來判斷,也可以通過樣式表的位置來判斷。但是在這里,我們著重講解一種非常特殊的優先級:z-index。
.z-one { z-index: 1; } .z-two { z-index: 2; }
z-index是一個用于控制元素在z軸上的位置的CSS屬性。它允許我們將某個元素放置在其他元素的上面(具有較高的z值),或者將某個元素放置在其他元素的下面(具有較低的z值)。
通過在元素的CSS規則中設置z-index屬性的值,我們可以改變元素在z軸上的位置。值較大的元素將會顯示在值較小的元素的前面,這意味著它們會遮擋住被遮蔽的元素。
CSS中的z-index屬性是個神奇的東西,因為如果不加以注意,就會發現自己在沒搞懂的情況下產生各種奇怪的結果。例如,如果兩個元素的z-index值相同,那么他們將在頁面中以文檔流的順序來排列,后面的覆蓋前面的。而如果一個元素的z-index值為-1,而另一個元素的z-index值為1,則前者將被覆蓋。考慮所有的z-index值與關聯元素的“文檔流位置”對比十分必要。