CSS-Layout - Horizontale & vertikale Ausrichtung
Horizontale & vertikale Zentrierung
Element-Zentrierung
Um ein Element (wie <div>) horizontal zu zentrieren, können Siemargin: auto; verwenden。
Das Festlegen der Breite des Elements verhindert, dass es über die Ränder des Containers hinausläuft.
Das Element wird zentriert, indem eine Breite angegeben und die leeren Außenabstände gleichmäßig auf beide Seiten verteilt werden:
Das div-Element wird zentriert
Beispiel
Selbst ausprobieren »
Hinweis:Wenn diewidth-Eigenschaft nicht festgelegt wird (oder wenn sie auf 100% gesetzt wird), funktioniert die Zentrierung nicht.
Textzentrierung
Wenn Sie nur den Text innerhalb eines Elements zentrieren möchten, können Sietext-align: center; verwenden
Textzentrierung
Tipp:Weitere Beispiele zur Textausrichtung finden Sie imCSS-Text-Kapitel.
Bild mittig ausrichten
Um ein Bild zu zentrieren, können Siemargin: auto;verwenden und es in einBlockelement einfügen:
Links-/Rechtsausrichtung – mit Positionierung
Wir können die Eigenschaftposition: absolute;verwenden, um Elemente auszurichten:
Beispiel-Tutorial -- Lernen ist nicht nur Technik, sondern auch Träume!!!
Beispiel
Selbst ausprobieren »
Hinweis:Absolut positionierte Elemente werden aus dem normalen Fluss entfernt und können andere Elemente überlappen.
Tipp:Wenn Siepositionverwenden, wird beim Ausrichten von Elementen normalerweise<body>das Element festlegenmarginundpadding. Dies kann sichtbare Unterschiede in verschiedenen Browsern vermeiden.
Bei Verwendung der position-Eigenschaft haben IE8 und frühere Versionen ein Problem. Wenn das Container-Element (in unserem Fall <div class="container">) eine festgelegte Breite hat und die !DOCTYPE-Deklaration ausgelassen wird, dann fügen IE8 und frühere Versionen einen zusätzlichen margin von 17px auf der rechten Seite hinzu. Dies scheint Platz für die Bildlaufleiste zu sein. Wenn Sie die position-Eigenschaft verwenden, legen Sie immer die !DOCTYPE-Deklaration fest:
Beispiel
Selbst ausprobieren »
Links-/Rechts-Ausrichtung - Verwendung der float-Methode
Wir können auch diefloat-Eigenschaft verwenden, um Elemente auszurichten:
Beispiel
Selbst ausprobieren »
Wenn Sie Elemente wie diese ausrichten, ist es eine gute Idee, margin und padding des <body>-Elements vorab zu definieren. Dies vermeidet sichtbare Unterschiede in verschiedenen Browsern.
Hinweis: Wenn die Höhe des Kindelements größer als die des Elternelements ist und das Kindelement auf float gesetzt ist, dann läuft das Kindelement über. An dieser Stelle können Sie "clearfix(clear float)" verwenden, um dieses Problem zu lösen.
Wir können dem Elternelement overflow: auto; hinzufügen, um das Problem des Überlaufens von Kindelementen zu lösen:
Bei Verwendung der float-Eigenschaft haben IE und frühere Versionen ein Problem. Wenn die !DOCTYPE-Deklaration weggelassen wird, fügen IE8 und frühere Versionen einen zusätzlichen margin von 17px auf der rechten Seite hinzu. Dies scheint Platz zu sein, der für die Bildlaufleiste reserviert ist. Wenn Sie die float-Eigenschaft verwenden, legen Sie immer die !DOCTYPE-Deklaration fest:
Beispiel
Selbst ausprobieren »
Vertikale Zentrierung - Verwendung von padding
Es gibt viele Möglichkeiten in CSS, um eine vertikale Zentrierung zu erreichen. Eine einfache Möglichkeit ist, am oberen Rand des Headerspadding zu verwenden:
Ich bin vertikal zentriert.
Wenn Sie sowohl horizontal als auch vertikal zentrieren möchten, können Siepaddingundtext-align: center verwenden:
Ich bin sowohl horizontal als auch vertikal zentriert.
Beispiel
Selbst ausprobieren »
Vertikale Zentrierung - mit line-height
Ich bin vertikal zentriert.
Beispiel
Selbst ausprobieren »
Vertikale Zentrierung - mit position und transform
Zusätzlich zur Verwendung vonpaddingundline-heightNeben der Eigenschaft können wir auchtransformEigenschaft zum Festlegen der vertikalen Zentrierung:
Beispiel
Selbst ausprobieren »
Tipp:Für weitere Inhalte zur transform-Eigenschaft kannst du auf das2D-Flip-Kapitel verweisen。
Weitere Beispiele
CSS: margin zum Zentrieren von div verwenden
CSS: absolute Positionierung verwenden, um div rechts auszurichten
Weitere Erweiterungen