z-index設置失效?

今天碰到了一個問題,就是在給li設置提示框的時候,有用到遮罩效果,本來想把對應的出現在最頂層,可是不管將li設置的z-index值設爲多大,li都沒有出現在遮罩層之上。

我在網上查了z-index設置無效的原因,是這麼說的:

z-index值要生效,它的目標元素必須設置其position的值爲relative/absolute/fixed;並且z-index值設置無效還有可能是如下原因:

  • 父標籤position屬性設置爲relative;
  • 問題標籤還有float屬性;

解決方法對應爲:

  • 將position:relative改爲absolute;
  • 去除浮動;

而在今天的情形裏,li已經設置了position:relative值,將其設置z-index:9999也沒用;後來我看了它的父級,原來父級也設置了z-index值,並且比遮罩層的z-index要小,而層疊的優先級對比是在兄弟元素之間進行的,而遮罩層和li的父級纔是同級,所以就算li的z-index值很大,但是其父級z-index值很小,最終相比,li的層級還是小於遮罩層的層級,所以就gg了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章