Heim  >  Artikel  >  Web-Frontend  >  CSS-Grundlagen: Ausführliche Erklärung des Z-Index

CSS-Grundlagen: Ausführliche Erklärung des Z-Index

巴扎黑
巴扎黑Original
2017-06-28 09:28:012654Durchsuche

Das Attribut

Concept

z-index legt die Stapelreihenfolge der Elemente fest. Elemente mit einer höheren Stapelreihenfolge erscheinen immer vor Elementen mit einer niedrigeren Stapelreihenfolge.

Vergleich hierarchischer Beziehungen

1 Ebene: Standardmäßig (oder Position:statisch) überschreiben Elemente am Ende des Dokumentflusses die vorherigen.

2. Wenn bei Geschwisterelementen die Position nicht statisch ist und ein Z-Index vorhanden ist, überdeckt das Element mit einem größeren Z-Index das Element mit einem kleineren Z-Index, d. h. je größer der Z-Index ist -index hat Vorrang. Je höher die Ebene .

3. Unter IE6/7 ist die Position nicht statisch und der Z-Index ist nicht vorhanden. Wenn der Z-Index nicht vorhanden ist, ist der Z-Index 0. In anderen Browsern ist der Z-Index automatisch.

4. Elemente, deren Z-Index automatisch ist, nehmen nicht am Vergleich der bis zu diesem Punkt durchlaufenen hierarchischen Beziehungen teil und deren Z-Index nicht automatisch am Vergleich teilnimmt.

Sequenzregeln

Wenn das Positionsattribut nicht auf dem Knoten festgelegt ist, wird der Knoten auf der Rückseite des Der Dokumentenfluss deckt den vorderen Knoten ab.


<p id="a">A</p><p id="b">B</p>

Targeting-Regeln

Wenn die Position auf „Statisch“ eingestellt ist, deckt der Knoten, der sich hinter dem Dokumentenfluss befindet, immer noch den vorherigen Knoten Floating ab, sodass position:static keinen Einfluss auf die Abdeckungsbeziehung des Knotens hat.


<p id="a" style="position:static;">A</p><p id="b">B</p>

Wenn die Position auf relativ (relative Positionierung), absolut (Absolute Positionierung) oder eingestellt ist Fest (feste Positionierung): Solche Knoten decken Knoten ab, für die das Positionsattribut nicht festgelegt ist oder deren Attributwert statisch ist, was darauf hinweist, dass erstere eine höhere Standardebene haben als letztere.


<p id="a" style="position:relative;">A</p><p id="b">B</p>

Ohne die Beeinträchtigung des Z-Index-Attributs können wir gemäß diesen Reihenfolge- und Positionierungsregeln A erstellen Komplexere Struktur. Hier legen wir nicht die Position für A und B fest, sondern position:relative für den untergeordneten Knoten A-1. Gemäß den Ordnungsregeln deckt B A ab, und gemäß den Positionierungsregeln deckt A' B ab .


<p id="a">
    <p id="a-1" style="position:relative;">A-1</p></p><p id="b">B</p>

Wann wird eine solche Implementierung verwendet, um sich gegenseitig zu überlagern? Es scheint seltsam, wird aber tatsächlich sehr häufig verwendet , wie Mit anderen Worten, die Kategorieanzeigeliste in der Seitenspalte einer E-Commerce-Website kann mit dieser Technik implementiert werden.

Das Bild unten zeigt den Kategorieanzeigebereich einer Website Die Ebene der Kategorie der zweiten Ebene deckt die Kategorieliste der ersten Ebene ab. Der äußere Rahmen der Kategorie der ersten Ebene deckt die schwebende Ebene der Kategorie der zweiten Ebene ab Die Kategorie der ersten Ebene entspricht im obigen Beispiel A, und der Knoten der Kategorie der ersten Ebene entspricht A. -1, die angehängte Ebene der sekundären Kategorie entspricht B.

Teilnahmeregeln

Wir versuchen, nicht das Positionsattribut zu verwenden, sondern das Z-Index-Attribut hinzuzufügen Wir stellen fest, dass das Z-Index-Attribut nur dann wirksam ist, wenn das Positionsattribut des Knotens relativ, absolut oder fest ist


<p id="a" style="z-index:2;">A</p><p id="b" style="z-index:1;">B</p><p id="c" style="z-index:0;">C</p>


<p id="a" style="z-index:2;">A</p><p id="b" style="position:relative;z-index:1;">B</p><p id="c" style="position:relative;z-index:0;">C</p>

Standardwert Regel

Wenn für alle Knoten position:relative definiert ist, befindet sich ein Knoten mit einem Z-Index von 0 an derselben Position wie ein Knoten ohne definierten Z-Index zwischen hoch und niedrig in der Hierarchie; aber Knoten mit einem Z-Index größer oder gleich 1 überdecken Knoten ohne definierten Z-Index; .


<p id="a" style="position:relative;z-index:1;">A</p><p id="b" style="position:relative;z-index:0;">B</p><p id="c" style="position:relative;">C</p><p id="d" style="position:relative;z-index:0;">D</p>

Von übergeordneter Regel

Wenn sowohl A- als auch B-Knoten position:relative definieren und der Z-Index von Knoten A größer ist als der von Knoten B, müssen die untergeordneten Knoten von A die Vorderseite der untergeordneten Knoten von B bedecken.

<p id="a" style="position:relative;z-index:1;">
    <p id="a-1">A-1</p></p>
 <p id="b" style="position:relative;z-index:0;">
    <p id="b-1">B-1</p></p>

 

如果所有节点都定义了 position:relative, A 节点的 z-index 和 B 节点一样大, 但因为顺序规则, B 节点覆盖在 A 节点前面. 就算 A 的子节点 z-index 值比 B 的子节点大, B 的子节点还是会覆盖在 A 的子节点前面.

很多人将 z-index 设得很大, 9999 什么的都出来了, 如果不考虑父节点的影响, 设得再大也没用, 那是无法逾越的层级.

Das obige ist der detaillierte Inhalt vonCSS-Grundlagen: Ausführliche Erklärung des Z-Index. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn