Kürzlich stieß ich im Verlauf des Projekts auf ein Problem. Ich möchte, dass die Menüleiste immer oben angezeigt wird und die nachfolgenden Elemente darunter. Zu diesem Zeitpunkt funktionierte das Festlegen des Z-Index nicht. Ich weiß nicht, warum, also suchte ich nach Informationen zum CSS-Stacking und löste das Problem. Hier ist ein Eintrag~ Der Bildschirm ist eine zweidimensionale Ebene, aber HTML-Elemente sind in einem dreidimensionalen Koordinatensystem angeordnet, wobei x die horizontale Position, y die vertikale Position und z die Position von innen nach außen auf dem Bildschirm ist. Wenn wir auf den Bildschirm schauen, blicken wir entlang der z-Achse von außen nach innen. Daher bilden die Elemente aus der Sicht des Benutzers eine Stapelbeziehung. Ein Element kann andere Elemente überdecken oder von anderen Elementen überdeckt werden. Hier sind einige wichtige Konzepte: Stapelkontext (Stacking Context), Stapelebene (Stacking Level), Stapelreihenfolge (Stacking Order), Z-Index Stellungnahme:
1. Stapelkontext Stapelkontext ist ein dreidimensionales Konzept in HTML. In der CSS2.1-Spezifikation ist die Position jedes Elements dreidimensional. Wenn Elemente gestapelt werden, können sie andere Elemente überdecken oder von anderen Elementen überdeckt werden. Je höher die Position auf der Z-Achse, desto näher ist sie am Bildschirmbeobachter. Der Artikel <Dinge, die Sie nicht über den Z-Index wussten> enthält eine gute Analogie, die ich hier zitieren möchte: Stellen Sie sich einen Tisch vor, auf dem sich eine Reihe von Gegenständen befinden. Dieser Tisch stellt einen Stapelkontext dar. Wenn sich neben der ersten Tabelle eine zweite Tabelle befindet, stellt diese zweite Tabelle einen anderen Stapelkontext dar. Stellen Sie sich nun vor, dass sich auf dem ersten Tisch vier kleine Würfel befinden und diese alle direkt auf dem Tisch platziert sind. Auf diesen vier kleinen Quadraten liegt ein Stück Glas und auf dem Glas ein Teller mit Obst. Diese Blöcke, Glasstücke und Obstteller stellen jeweils eine andere Stapelebene im Stapelkontext, dem Tisch, dar. Jede Webseite hat einen Standard-Stapelkontext. Die Wurzel dieses Stapelkontexts (der Tabelle) ist Wenn Sie einem positionierten Element einen anderen Z-Index-Wert als Stapelkontext 1 wird durch das Dokumentstammelement gebildet. Stapelkontext 2 und 3 sind Stapelebenen auf Stapelkontext 1. Außerdem bilden sie jeweils einen neuen Stapelkontext, der neue Stapelebenen enthält. Innerhalb eines Stapelkontexts werden die untergeordneten Elemente entsprechend den oben erläuterten Regeln gestapelt. Die Methoden zum Bilden eines Stapelkontexts sind:
Zusammenfassen: Stapelkontexte können in anderen Stapelkontexten enthalten sein und bilden zusammen eine Hierarchie von Stapelkontexten. Jeder Stapelkontext ist vollständig unabhängig von seinen Geschwisterelementen. Beim Stapeln werden nur untergeordnete Elemente berücksichtigt. Dies ähnelt BFC. Jeder Stapelkontext ist in sich geschlossen: Wenn der Inhalt eines Elements gestapelt wird, wird das gesamte Element der Reihe nach innerhalb des übergeordneten Stapelkontexts gestapelt. 2. Stapelebene Die Stapelebene bestimmt das Konzept der Anzeigereihenfolge von Elementen auf der Z-Achse im gleichen Stapelkontext;
Beachten Sie, dass die Stapelebene nicht unbedingt durch den Z-Index bestimmt wird. Nur die Stapelebene positionierter Elemente wird durch den Z-Index bestimmt. Die Stapelebene anderer Elementtypen wird durch die Stapelreihenfolge, die Reihenfolge, in der sie im HTML erscheinen, und die Stapelebene der Elemente über ihrem übergeordneten Element bestimmt. Detaillierte Regeln finden Sie in der Einführung zur Stapelreihenfolge weiter unten. 3. Z-Index In CSS 2.1 befinden sich alle Elemente des Boxmodells in einem dreidimensionalen Koordinatensystem. Zusätzlich zu den allgemein verwendeten horizontalen und vertikalen Achsen können Boxmodellelemente auch entlang der „Z-Achse“ gestapelt werden. Wenn sie sich überlappen, wird die Reihenfolge der Z-Achse sehr wichtig. - CSS 2.1 Abschnitt 9.9.1 - Mehrschichtige Darstellung Der Z-Index gilt nur für positionierte Elemente und ist für nicht positionierte Elemente ungültig. Er kann auf eine positive Ganzzahl, eine negative Ganzzahl, 0 oder „auto“ gesetzt werden. Wenn für ein positioniertes Element kein Z-Index gesetzt ist, ist der Standardwert „auto“. Der Z-Indexwert eines Elements ist nur innerhalb desselben Stapelkontexts von Bedeutung. Wenn die Stapelebene eines übergeordneten Stapelkontexts niedriger ist als die eines anderen Stapelkontexts, hat das Festlegen eines höheren Z-Index keine Auswirkungen. Wenn Sie also auf eine Situation stoßen, in der ein großer Z-Index-Wert nicht funktioniert, überprüfen Sie, ob der übergeordnete Stapelkontext durch andere Stapelkontexte abgedeckt ist. 4. Stapelreihenfolge Die Stapelreihenfolge (Stapelreihenfolge, Stapelreihenfolge, Stapelreihenfolge) beschreibt die Reihenfolge der Elemente im gleichen Stapelkontext. Beginnend vom unteren Ende des Stapels gibt es sieben Stapelreihenfolgen:
Elemente in der gleichen Stapelreihenfolge werden in der Reihenfolge gestapelt, in der sie im HTML erscheinen. Ein Element auf Ebene 7 wird über den Elementen davor angezeigt und scheint die Elemente der niedrigeren Ebenen zu überdecken: 5. Tatsächlicher Kampf 5.1 Allgemeine Situation Die drei Siehe Codepen - Normalfall Wenn also kein Element über eine Z-Index-Eigenschaft verfügt, werden die Elemente in diesem Beispiel in der folgenden Reihenfolge gestapelt (von unten nach oben):
Rot, Grün und Blau sind alle positionierte Elemente mit Z-Index-Auto. Gemäß der 7-Ebenen-Stapelreihenfolgeregel gehören sie alle zur 6. Ebene der Stapelreihenfolge und werden daher in der Reihenfolge ihres Auftretens in HTML gestapelt: 5.2 Im gleichen Stapelkontext übergeordnetes Element Rot und Grün liegen unter einer Siehe Codepen – Verschiedene übergeordnete Elemente, aber beide unter dem Stammelement In diesem Beispiel erzeugen die übergeordneten Elemente 5.3 Z-Index zu untergeordneten Elementen hinzufügen Rot und Grün liegen unter einer Wenn Sie nach Siehe Codepen – Festlegen des Z-Index In diesem Beispiel wird im übergeordneten Element der roten, blauen, grünen und gelben Elemente kein neuer Stapelkontext generiert. Sie gehören alle zu den Elementen im Stammstapelkontext. Für Rot und Blau ist kein Z-Index festgelegt, und beide gehören zur Ebene 6 in der Stapelreihenfolge, stapelbar in der Reihenfolge ihres Auftretens im HTML.
Die Reihenfolge von unten nach oben lautet in diesem Beispiel also: 5.4 In übergeordneten Elementen mit unterschiedlichen Stapelkontexten Rot und Grün liegen unter einer Siehe Codepen - Eltern verschiedener Stapelkontexte In diesem Beispiel sind Rot, Grün und Blau alle positionierte Elemente mit festgelegtem Z-Index, aber ihr übergeordnetes Element erstellt einen neuen Stapelkontext.
In diesem Beispiel ist die Reihenfolge von niedrig nach hoch: (Die Situation, die ich vorgefunden habe, ähnelt diesem Beispiel) 5.5 Opazität für untergeordnete Elemente festlegen Rot und Grün liegen unter Wenn Sie für Wenn Sie nach Siehe Codepen - Wirkung der Opazität Wie bereits erwähnt, kann das Festlegen
In diesem Beispiel lautet die Reihenfolge von niedrig nach hoch: Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
<<: Wachstumserfahrung eines Webdesigners
>>: Eine kurze Diskussion über die richtige Haltung der Tomcat-Speicherkonfiguration
In diesem Tutorial erfahren Sie alles über die In...
1. Dauerhafte Änderung, gültig für alle Benutzer ...
1. Fügen Sie zuerst das ul-Tag im Textkörper hinz...
In diesem Artikel wird der spezifische Code der V...
6 Lösungen für Netzwerkfehler im Docker-Container...
Fehlerbeschreibung Wenn wir Docker Desktop instal...
Geschäftsszenarioanforderungen und Implementierun...
Inhaltsverzeichnis Vorwort: Detaillierte Einführu...
Vorwort Dieser Artikel beschreibt, wie ich Docker...
In diesem Artikelbeispiel wird der spezifische Co...
Im vorherigen Artikel habe ich das ausführliche T...
Inhaltsverzeichnis Vorwort Installation und Verwe...
Dieser Artikel beschreibt, wie man über Docker ei...
Gängige Szenarien für die Weiterleitung von Socke...
Der spezifische Code zum Einkapseln der Bildaufna...