Z-Index-Attribut in CSS: Ein leistungsstarkes Tool zur Steuerung der Reihenfolge der Seitenelemente Stapel
In diesem Artikel wird das Attribut z-index
in CSS untersucht, mit dem die Kaskadenreihenfolge von Seitenelementen gesteuert wird. Elemente mit höheren Werten werden auf Elementen mit niedrigeren Werten angezeigt. Dies ähnelt der X-Achse und der y-Achse auf der Seite, die die horizontalen und vertikalen Positionen von Elementen steuert, und steuert die Stapelreihenfolge der Elemente auf der Z-Achse. z-index
Das Attribut
- in
- steuert die Stapelreihenfolge der Seitenelemente. Es funktioniert nur auf Elementen, deren Attributwerte
z-index
,position
oderabsolute
sind.relative
fixed
durch Einstellen ohne Werte an - ,
position: relative
,top
,right
oderbottom
-attribute zuzuweisen, können Sie die Stapelreihenfolge der Elemente steuern, ohne ihre ursprüngliche Position auf dem zu ändern Seite.left
Die Analyse des Werts - wird im Kontext des übergeordneten Stapels durchgeführt, was bedeutet, dass das Element auch dann noch an anderer Stelle angezeigt wird, wenn der Wert des
z-index
des übergeordneten Containers niedrig ist Unter dem Element.z-index
z-index
Um die Organisation und Flexibilität zu verbessern, wird empfohlen, ein Inkrement von 100 zu verwenden, um den Wert zu setzen. Dieser Ansatz bietet 99 verfügbare numerische Auswahlmöglichkeiten beim Hinzufügen einer neuen Ebene zwischen zwei vorhandenen Ebenen. -
z-index
Standard -Stapelauftrag
Beim Schreiben von HTML werden die Back -Elemente im Dokument standardmäßig auf den vorderen Elementen gestapelt.
In diesem HTML -Snippet wird die Fußzeile auf den Körpergehalt gestapelt, was wiederum auf dem Kopfball gestapelt wird.
<header class="site-header"></header> <main class="site-content"></main> <footer class="site-footer"></footer>
Elemente können durch Kombinieren von
-attributen und, position
, top
, right
, bottom
> Offset -Attributen überlagert werden. left
jedes Elements auf position
gesetzt ist, überlappen sie sich alle. Da die Fußzeile in dem Dokument zuletzt erscheint, wird er standardmäßig über die ersten beiden Elemente gestapelt. absolute
.site-header, .site-content, .site-footer { position: absolute; width: 400px; padding: 20px; } .site-header {top: 0; left: 0;} .site-content {top: 50px; left: 50px;} .site-footer {top: 100px; left: 100px;}Verwenden von Offseteigenschaften
und top
, um die Stapelreihenfolge der Elemente klarer zu sehen. left
Obwohl überlappende Elemente mit
erstellt werden können, erstellt dies nicht den sogenannten position: absolute
Stapelkontext .
Das
- -Element hat die Attribute
- oder
position: absolute
und der Wertrelative
ist nichtz-index
.auto
Flexbox -Elemente haben - Werte, die nicht
auto
sind.z-index
Die Opazität des Elements ( - ) beträgt weniger als 1.
opacity
Das -Merkmal des - -Elements wird auf einen Nicht-Wert eingestellt.
transform
none
Die gemeinsame Art, Stapelkontexte zu erstellen und zu verwenden, ist die erste. Konzentrieren wir uns darauf.
Gehen Sie zum vorherigen Beispiel zurück, wir haben drei Elemente, die sich gegenseitig überlappen, aber im Moment haben sie keine z-index
-Werte.
z-index
ermöglicht es uns, die Stapelreihenfolge zu steuern.
Wenn wir die Fußzeile z-index
auf 1, den Körper z-index
auf 2 und den Header z-index
bis 3 einstellen, kann die Standardstapelreihenfolge vollständig umgekehrt werden.
Auf der Oberfläche erscheint es einfach: Je höher der Wert ist, desto höher ist die Elemente Stapel - also wird z-index
immer über z-index: 9999
sein. Leider ist die Realität komplizierter als diese. z-index: 9
<header class="site-header"></header> <main class="site-content"></main> <footer class="site-footer"></footer>Wenn Sie eine Schachtel in den
Behälter hinzufügen und außerhalb der unteren rechten Ecke positionieren, sehen wir, dass sie sich über der grünen Box unter der rosa Box befindet. site-content
.site-header, .site-content, .site-footer { position: absolute; width: 400px; padding: 20px; } .site-header {top: 0; left: 0;} .site-content {top: 50px; left: 50px;} .site-footer {top: 100px; left: 100px;}Basierend auf dem, was wir über
wissen, könnten wir denken, dass wir nur einen höheren Wert für z-index
festlegen müssen, um diese gelbe Box auf der Pink -Box zu erscheint. z-index
auf 4 festlegen (oben z-index
), werden wir keine Änderungen sehen. Menschen versuchen normalerweise, das Stapeln mit sehr großen Zahlen zu zwingen (wie 9999), aber dies hat auch keine Wirkung. In der Codebasis ist ein solcher Wert z-index: 3
ein Code -Geruch. Versuchen Sie also, dies nach Möglichkeit zu vermeiden. z-index
im Stapelkontext verhält. z-index
... (Der HTML- und CSS -Code im MDN -Beispiel wird hier weggelassen, weil der Artikel zu lang ist, aber der wichtige Erläuterungsteil bleibt beibehalten) ....
All dies kann durch die Tatsache erklärt werden, dass alle
-Werte in ihrem übergeordneten Stapelkontext analysiert werden. Da der Wert des übergeordneten Containers z-index
höher ist als die Fußzeile, werden alle Positionierungselemente in .site-content
in diesem Kontext bewertet. z-index
.site-content
Verstehe die Stapelreihenfolge von Elementen im Stapelkontext, du kannst sie mit Kindern in verschachtelten geordneten Listen vergleichen.
Dies kann wie folgt geschrieben werden:
Header:
-
z-index: 5
Betreff: -
z-index: 4
Feld 1:-
z-index: 4.6
Feld 2: -
z-index: 4.1
Feld 3: -
z-index: 4.3
-
-
z-index: 2
, selbst wenn der Header
des Kasten 1 ist 6, ist seine Rendering -Reihenfolge 4,6, was immer noch weniger als 5 beträgt. Daher wird Kasten 1 unter dem Header angezeigt. z-index
z-index
Es war zunächst ein wenig verwirrend, aber mit der Übung begann es wirklich Sinn!
Z-Index ist nur für die Positionierung von Elementen
geeignet Wenn Sie die Stapelreihenfolge der Elemente steuern möchten, können Sie z-index
verwenden. position
wirkt sich jedoch nur dann aus, wenn der absolute
-Werte des Elements relative
, fixed
oder z-index
beträgt.
Elemente genau mit position
genau zum Aufbau komplexer Layouts oder interessanten UI -Muster sind, aber es ist oft wünschenswert, die Stapelreihenfolge zu steuern, ohne die Elemente in der ursprünglichen Position auf der Seite zu bewegen.
Wenn dies der Fall ist, können Sie nur position: relative
festlegen, aber keinen Wert für top
, right
, bottom
oder left
angeben. Das Element bleibt in seiner ursprünglichen Position auf der Seite, der Dokumentfluss wird nicht unterbrochen und der Wert z-index
wird wirksam.
negativer Z-Index-Wert kann verwendet werden
hydratisierte Elemente werden häufig verwendet, um komplexe Formen oder UI -Komponenten zu bauen. Dies bedeutet normalerweise, dass sich die Elemente gegenseitig überlagert werden und der z-index
-Werte weiter zunimmt. Um ein Element unter einem anderen Element zu platzieren, muss es nur einen niedrigeren z-index
-Werte haben, der negativ sein kann.
Dies ist nützlich, wenn Sie ein Pseudoelement verwenden und es hinter seinem übergeordneten Elementinhalt positionieren möchten.
Aufgrund der Art und Weise, wie das Stapeln des Kontextes funktioniert, muss ein negativer
-Wartwert darauf eingestellt werden, wenn das Element oder :before
nach dem Textinhalt seines übergeordneten Elements positioniert werden soll. :after
z-index
Z-Index Strategie
Fassen wir eine einfache Strategie zusammen, die ich bei der Anwendung
in meinem Projekt verwendet habe.
z-index
Wir haben einstellige Inkremente des Wertes
und z-index
eingestellt sind? Sie müssen viele Werte ändern- möglicherweise in der gesamten Codebasis, was zu Problemen führen kann und CSS-Bruch in anderen Teilen der Website verursachen kann. z-index: 3
z-index: 4
Z-Index mit 100 Schritten einstellen
Wenn Sie mit
umgehen, sehen Sie oft Code wie folgt:
z-index
<header class="site-header"></header> <main class="site-content"></main> <footer class="site-footer"></footer>angeschlossen hat). Ein solcher Wert anzeigt normalerweise, dass der Entwickler den Stapelkontext nicht versteht und versucht, eine Schicht auf dem anderen zu zwingen.
!important
Anstatt eine Zahl wie 9999, 53 oder 12 zu verwenden, können wir unser
z-index
Ich habe keine einstelligen Inkremente von
z-index
.site-header, .site-content, .site-footer { position: absolute; width: 400px; padding: 20px; } .site-header {top: 0; left: 0;} .site-content {top: 50px; left: 50px;} .site-footer {top: 100px; left: 100px;}
Dieser manuelle Ansatz ist bei der Erstellung eines Systems sehr zuverlässig, aber in Verbindung mit einem Präprozessor wie Sass kann er flexibler gemacht werden.
... (Der FAQs -Teil wird hier weggelassen, weil es sich mit der vorherigen Ausgabe mehr wiederholt) ... z-index
Das obige ist der detaillierte Inhalt vonMastering Z-Index in CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

CSS Grid ist ein leistungsstarkes Tool zum Erstellen komplexer, reaktionsschneller Weblayouts. Es vereinfacht das Design, verbessert die Zugänglichkeit und bietet mehr Kontrolle als ältere Methoden.

In Artikel wird CSS Flexbox erörtert, eine Layoutmethode zur effizienten Ausrichtung und Verteilung des Raums in reaktionsschnellen Designs. Es erklärt die Verwendung von Flexbox, vergleicht es mit CSS -Gitter und Details Browser -Unterstützung.

In dem Artikel werden Techniken zum Erstellen von reaktionsschnellen Websites mithilfe von CSS erörtert, einschließlich Ansichtsfenster -Meta -Tags, flexiblen Gitter, Flüssigkeitsmedien, Medienabfragen und relativen Einheiten. Es deckt auch mit CSS -Raster und Flexbox zusammen und empfiehlt CSS -Framework

In dem Artikel wird die CSS-Box-Größeneigenschaft erörtert, in der die Berechnung der Elementabmessungen steuert. Es erklärt Werte wie Inhaltsbox, Border-Box und Padding-Box sowie deren Auswirkungen auf das Layout-Design und die Form von Formularausrichtung.

In Artikel wird das Erstellen von Animationen mithilfe von CSS, Schlüsseleigenschaften und Kombination mit JavaScript erläutert. Hauptproblem ist die Browserkompatibilität.

In Artikel werden CSS für 3D -Transformationen, wichtige Eigenschaften, Browserkompatibilität und Leistungsüberlegungen für Webprojekte erläutert. (Charakterzahl: 159)

In dem Artikel werden CSS -Gradienten (linear, radial, wiederholt) beschrieben, um die Website -Visuals, das Hinzufügen von Tiefe, Fokus und moderne Ästhetik zu verbessern.

In Artikel werden Pseudoelemente in CSS, deren Verwendung bei der Verbesserung des HTML-Stylings und der Unterschiede zu Pseudoklassen erläutert. Bietet praktische Beispiele.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),
