CSS中有一個(gè)很重要的概念就是層級(jí),通過(guò)調(diào)整層級(jí)可以改變DOM元素的顯示順序,這個(gè)過(guò)程就需要用到某些CSS屬性來(lái)實(shí)現(xiàn)。
要改變一個(gè)div元素在頁(yè)面中的層級(jí),可以使用CSS中的z-index屬性。該屬性可以將一個(gè)元素的層級(jí)調(diào)整到另一個(gè)元素的前面或者后面,在z-index的值相同的情況下,后來(lái)的元素會(huì)排在前面。
.div1{ z-index:1; /* 將div1的層級(jí)設(shè)為1,這里可以是任何整數(shù) */ } .div2{ z-index:2; /* 將div2的層級(jí)設(shè)為2,比div1更高 */ }
有時(shí)候,如果要改變多個(gè)div元素的顯示順序,可以將它們放在一個(gè)父元素中,然后改變父元素的層級(jí)。這樣做也會(huì)影響到父元素和它的子元素的其他樣式,需要謹(jǐn)慎使用。
.parent-div{ z-index:2; /* 將父元素的層級(jí)設(shè)為2 */ } .parent-div .child-div{ z-index:1; /* 將子元素的層級(jí)設(shè)為1 */ }
在使用z-index屬性時(shí),需要注意以下幾點(diǎn):
- z-index只對(duì)定位(position)不為static的元素有效
- z-index只對(duì)同級(jí)元素有效,不會(huì)影響到其他元素的層級(jí)
- 需要注意在使用z-index時(shí)不要出現(xiàn)死循環(huán),否則會(huì)導(dǎo)致網(wǎng)頁(yè)的卡頓