7 Möglichkeiten, Elemente mit CSS vertikal zu zentrieren

7 Möglichkeiten, Elemente mit CSS vertikal zu zentrieren

【1】Kennen Sie die Breite und Höhe des zentrierten Elements

absoluter + negativer Rand

Code-Implementierung

.wrapBox5{
    Breite: 300px;
    Höhe: 300px;
    Rand: 1px durchgehend rot;
    Position: relativ;
}
.wrapItem5{
    Breite: 100px;
    Höhe: 50px;
    Position: absolut;
    Hintergrund: gelb;
    oben: 50 %;
    links: 50 %;
    Rand oben: -25px;
    Rand links: -50px;
}

Ergebnisse der Operation

absolut + Rand automatisch

Code-Implementierung

.wrapBox{
    Breite: 300px;
    Höhe: 300px;
    Hintergrund: gelb;
    Position: relativ;
}
.wrapItem{
    Breite: 100px;
    Höhe: 50px;
    Hintergrund: grün;
    Anzeige: Inline-Block;
    Position: absolut;
    oben: 0px;
    unten: 0px;
    links: 0px;
    rechts: 0px;
    Rand: automatisch;
}

absolut + rechnerisch

Code-Implementierung

.wrapBox6{
    Breite: 300px;
    Höhe: 300px;
    Rand: 1px, durchgehend grün;
    Position: relativ;
}
.wrapItem6{
    Breite: 100px;
    Höhe: 50px;
    Position: absolut;
    Hintergrund: gelb;
    oben: berechnet (50 % – 25 Pixel);
    links: berechnen (50 % – 50 Pixel);
}

Ergebnisse der Operation

Drei Vergleiche Zusammenfassung

Wenn die Breite und Höhe des zentrierten Elements bekannt sind, ist die Methode zum Festlegen der Mitte relativ einfach. Das Wesentliche bei allen drei Methoden ist dasselbe. Sie alle führen eine absolute Positionierung auf dem zentrierten Element durch. Nach der Positionierung auf 50 % oben und 50 % links werden sie auf die halbe Breite und Höhe des zentrierten Elements zurückgezogen, um eine echte Zentrierung zu erreichen. Der Unterschied zwischen den drei Methoden liegt in der unterschiedlichen Art und Weise, wie die Breite und Höhe des Elements selbst reduziert wird.

【2】Die Breite und Höhe des zentrierten Elements sind unbekannt

absolut + transformieren

Code-Implementierung

.wrapBox{
    Breite: 300px;
    Höhe: 300px;
    Hintergrund:#ddd;
    Position: relativ;
}
.wrapItem{
    Breite: 100px;
    Höhe: 50px;
    Hintergrund: grün;
    Position: absolut;
    oben: 50 %;
    links: 50 %;
    transformieren: übersetzen(-50 %, -50 %);
}

Ergebnisse der Operation

Das Prinzip ähnelt der Implementierungsmethode mit bekannter Breite und Höhe, mit der Ausnahme, dass die Breite und Höhe des aktuell zentrierten Elements unbekannt sind. Daher müssen die Breite und Höhe des aktuell zentrierten Elements automatisch ermittelt werden. Das Translate-Attribut implementiert genau diese Funktionalität.

Vor- und Nachteile Vorteile: Berechnet automatisch die eigene Breite und Höhe. Nachteile: Wenn andere Eigenschaften der Transformation gleichzeitig verwendet werden, beeinflussen sie sich gegenseitig.
Daher: Diese Methode wird empfohlen, wenn andere Eigenschaften der Transformation nicht verwendet werden.

Flexibles Layout

.wrapBox2{
    Breite: 300px;
    Höhe: 300px;
    Hintergrund: blau;
    Anzeige: Flex;
    Inhalt ausrichten: zentriert;
    Elemente ausrichten: zentrieren;
}
/*Hinweis: Auch wenn Sie das untergeordnete Element nicht als Zeilenblockelement festlegen, belegt es keine einzelne Ebene*/
.wrapItem2{
    Breite: 100px;
    Höhe: 50px;
    Hintergrund: grün;
}

Ergebnisse der Operation

Prinzip: Stellen Sie das übergeordnete Element auf das Flusslayout ein und platzieren Sie das untergeordnete Element entsprechend den Eigenschaftsmerkmalen des Flexlayouts in der Mitte.

Vor- und Nachteile Vorteile: Flex-Layout ist flexibel und erfordert keine Einstellungen für untergeordnete Elemente. Nachteile: Kompatibilität. Float, Clear, Position usw. von untergeordneten Elementen können nicht verwendet werden. Wenn auch andere Layouts vorhanden sind, kann dies leicht Auswirkungen haben.

Tabellenzellenlayout

Code-Implementierung

.wrapBox3{
    Breite: 300px;
    Höhe: 300px;
    Hintergrund: gelb;
    Anzeige: Tabellenzelle;
    vertikale Ausrichtung: Mitte;
    Textausrichtung: zentriert;
}
.wrapItem3{
    Breite: 100px;
    Höhe: 50px;
    Hintergrund: grün;
    Anzeige: Inline-Block;
}

Ergebnisse der Operation

Prinzip: Gemäß der vertikalen Ausrichtungseigenschaft der Tabelle können Sie das Element so einstellen, dass es innerhalb des Tabellenelements zentriert wird, und dann die horizontale Mitte gemäß der Textausrichtung festlegen.

Tabellenelemente

Code-Implementierung

.tableBox{
    Rand: 2px, durchgehend gelb;
    Breite: 300px;
    Höhe: 300px;
}
.tableBox Tabelle{
    Breite: 100 %;
    Höhe: 100 %;
}
.centerWrap{
    Textausrichtung: zentriert;
    vertikale Ausrichtung: Mitte;
}
.centerItem{
    Anzeige: Inline-Block;
    Hintergrund: rosa;
}

Ergebnisse der Operation

Zusammenfassend wird das Tabellentag für das Layout verwendet, hauptsächlich unter Verwendung der Attribute „Vertical-Align“ und „Text-Align“. Im Vergleich zur vorherigen Methode wird durch die Verwendung des Tabellen-Tags jedoch viel redundanter Code generiert. Nicht empfohlen

Damit ist dieser Artikel über 7 Möglichkeiten zum vertikalen Zentrieren von Elementen mit CSS abgeschlossen. Weitere Informationen zum vertikalen Zentrieren von Elementen mit CSS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Ein Artikel zum Verständnis der erweiterten Funktionen von K8S

>>:  Wann verwendet man Tabellen und wann CSS (Erfahrungsaustausch)

Artikel empfehlen

Eine kurze Diskussion über Flex-Layout und Skalierungsberechnung

1. Einführung in Flex Layout Flex ist die Abkürzu...

Unterscheidung zwischen Linux-Hardlinks und Softlinks

Unter Linux gibt es zwei Arten von Dateiverbindun...

Details zum JavaScript-Timer

Inhaltsverzeichnis 1. Kurze Einführung 2. Interva...

Tools zur Bildoptimierung für Webseiten und Tipps zur Verwendung

Als grundlegendes Element einer Webseite sind Bil...

Tutorial zur Installation von MySQL 5.7.28 auf CentOS 6.2 (MySQL-Hinweise)

1. Umweltvorbereitung 1.MySQL-Installationspfad: ...

Detaillierte Verwendung des Vue More Filter-Widgets

In diesem Artikelbeispiel wird die Implementierun...

Das WeChat-Applet zeichnet die Bewegungsbahn des Benutzers auf

Inhaltsverzeichnis Konfiguration hinzufügen JSON-...

Vue-Beispielcode mit dem Animationseffekt „Übergangskomponente“

Die Übergangsdokumentadresse definiert eine Hinte...

In einem Artikel erfahren Sie, wie Sie mit js den Sperrfeuereffekt erzielen

Inhaltsverzeichnis Erstellen Sie eine neue HTML-D...

Lassen Sie sich das Funktionsprinzip von JavaScript erklären

Inhaltsverzeichnis Browserkernel JavaScript-Engin...

Einführungstutorial zu React Hooks

Zustandshaken Beispiele: importiere { useState } ...

So fügen Sie der Seite über Element UI eine Seitennavigationsleiste hinzu

brauchen Fügen Sie eine Paging-Leiste hinzu, die ...

Detaillierte Erklärung der MySQL-Injektion ohne Kenntnis des Spaltennamens

Vorwort Ich habe in letzter Zeit das Gefühl, dass...