CSS3 implementiert horizontale Zentrierung, vertikale Zentrierung, horizontale und vertikale Zentrierung Beispielcode

CSS3 implementiert horizontale Zentrierung, vertikale Zentrierung, horizontale und vertikale Zentrierung Beispielcode

Als Front-End-Affe werden wir, sei es während eines Interviews oder bei der Arbeit, mehr oder weniger auf den Effekt der „Verwendung von CSS zum Zentrieren“ stoßen. Heute werde ich einen Artikel über verschiedene Methoden zur vertikalen und horizontalen Zentrierung mit CSS schreiben.

Beispiel 1: Beginnen Sie mit der einfachsten horizontalen Zentrierung

Rand: 0 automatisch;

Blockelemente können mit margin: 0 auto; in der Mitte des übergeordneten Elements zentriert werden. Denken Sie jedoch daran, die Breite und Höhe des Blockelements festzulegen. HTML-Teil

<div Klasse="wrap">
  <div Klasse="Beispiel1">
    <p>CSS</p>
  </div>
</div>

CSS-Teil

.beispiel1 {
  Breite: 200px;
  Höhe: 200px;
  Hintergrundfarbe: orange;
}
.beispiel1 p {
  Breite: 100px;
  Höhe: 100px;
  Hintergrundfarbe: rot;
  Rand: 0 automatisch;
  Zeilenhöhe: 100px;
  Textausrichtung: zentriert;
}

Beispiel 2: Elemente horizontal und vertikal zentrieren

Positionselement mit bekannter Breite, absolute Positionierung + Rand, umgekehrter Offset

.wrap { Position: relativ; Hintergrundfarbe: orange; Breite: 300px; Höhe: 300px; } .example2 { Hintergrundfarbe: rot; Breite: 100px; Höhe: 100px; Position: absolut; links: 50 %; oben: 50 %; Rand: -50px 0 0 -50px; }

Position, Transform-Element, unbekannte Breite. Wenn die Elementbreite unbekannt ist, ersetzen Sie einfach den Rand: -50px 0 0 -50px; im obigen Beispiel 2 durch: Transform: Translate(-50%,-50%);

Beispiel 3: Flex-Layout

HTML ist das gleiche wie oben, mit angehängtem CSS-Code

.warp {
  Hintergrundfarbe: #FF8C00;
  Breite: 200px;
  Höhe: 200px;
  Anzeige: Flex;
  justify-content: center; /*Unterelement horizontal zentrieren*/
  align-items: center; /*Unterelemente vertikal ausrichten*/
}
.beispiel3 {
  Hintergrundfarbe: #F00;
  Breite: 100px;
  Höhe: 100px;
} 

Das andere ist das Tabellenzellenlayout, das ich nicht vorstellen werde, weil ich nicht möchte.

Beispiel 4: Absolutes Layout

Verwenden Sie das absolute Layout für Div, legen Sie den Rand fest: auto; und legen Sie die Werte oben, links, rechts und unten gleich fest. Sie müssen nicht alle 0 sein. HTML-Teil

<div Klasse="Warp">
  <div Klasse="Beispiel3">
    Zentralanzeige</div>
</div>

CSS-Teil

.warp {
  Position: relativ;
  Hintergrundfarbe: orange;
  Breite: 200px;
  Höhe: 200px;
}
.beispiel3 {
  Position: absolut;
  oben: 0;
  links: 0;
  rechts: 0;
  unten: 0;
  Hintergrundfarbe: rot;
  Breite: 100px;
  Höhe: 100px;
  Rand: automatisch;
}

Beispiel 5: Relative Positionierung von Kindelementen und vertikale Zentrierung durch translaY()

.warp {
  Position: relativ;
  Hintergrundfarbe: orange;
  Breite: 200px;
  Höhe: 200px;
}
.beispiel3 {
  Position: relativ;
  oben: 50 %;
  transformieren: übersetzenY(-50%);
  Hintergrundfarbe: rot;
  Breite: 100px;
  Höhe: 100px;
  Rand: 0 automatisch;
}

Beispiel 6: Verwenden Sie die vertikale Ausrichtung des Inline-Blocks: Mitte, um das nachfolgende Pseudoelement auszurichten

Die Verwendung von vertical-align:middle des Inline-Blocks zum Ausrichten des Pseudoelements danach kann bessere Ergebnisse erzielen. Die Größe des zentrierten Blocks kann umbrochen und an den Inhalt angepasst werden, und die Kompatibilität ist auch recht gut. Der Nachteil besteht darin, dass bei der horizontalen Zentrierung die Leerzeichen im Inline-Blockintervall berücksichtigt werden müssen (ein veraltetes Problem bei Codezeilenumbrüchen).

.warp {
    Textausrichtung: zentriert;
    Überlauf: automatisch;
    Breite: 200px;
    Höhe: 200px;
    Hintergrundfarbe: orange;
}
.beispiel3 {
    Anzeige: Inline-Block;
    Hintergrundfarbe: rot;
    vertikale Ausrichtung: Mitte;
    Breite: 100px;
    Höhe: 100px;
}

.warp:nach {
    Inhalt: '';
    Anzeige: Inline-Block;
    vertikale Ausrichtung: Mitte;
    Höhe: 100%;
    Rand links: -0,25em;
    /* Zum Versetzen des Abstands. Kann je nach Schriftart variieren */
}

Beispiel 7: Anzeige: Flexbox

Flexbox-Layout. Dies ist die ultimative Layoutmethode, die speziell zur Lösung aller Arten von Layout- und Positionierungsproblemen entwickelt wurde! Vorteile: Kann verschiedene Anordnungs- und Layoutprobleme lösen.

.warp {
  Anzeige: -webkit-flex;
  Anzeige: -moz-box;
  Anzeige: -ms-flexbox;
  Anzeige: -webkit-box;
  Anzeige: Flex;
  -webkit-box-align: zentriert;
  -moz-box-align: zentriert;
  -ms-flex-align: zentriert;
  -webkit-align-items: zentrieren;
  Elemente ausrichten: zentrieren;
  -WebKit-Box-Pack: Mitte;
  -moz-box-pack: Mitte;
  -ms-flex-pack: Mitte;
  -webkit-justify-content: zentrieren;
  Inhalt ausrichten: zentriert;
  Breite: 200px;
  Höhe: 200px;
  Hintergrundfarbe: orange;
}
 
.beispiel3 {
  Breite: 100px;
  Höhe: 100px;
  Hintergrundfarbe: rot;
}

Beispiel 1 in der Bildmitte:

<div Klasse="Warp">
  <div Klasse="Beispiel3">
    <img src="xxxx" alt="">
  </div>
</div>
.warp {
  Breite: 200px;
  Höhe: 200px;
  Hintergrundfarbe: orange;
  Anzeige: Flex;
  Elemente ausrichten: zentrieren;
  Inhalt ausrichten: zentriert;
}
.beispiel3 img {
  Breite: 100px;
  Höhe: 100px;
  Hintergrundfarbe: blau;
}

Zusammenfassen

Damit ist dieser Artikel über Beispielcodes zur Implementierung von horizontaler und vertikaler Zentrierung sowie horizontaler und vertikaler Zentrierung mit CSS3 abgeschlossen. Weitere relevante Inhalte zur vertikalen Zentrierung in CSS3 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!

<<:  So implementieren Sie Seitensprünge in einem Vue-Projekt

>>:  Zusammenfassung der Formulardesigntechniken im Webdesign

Artikel empfehlen

So installieren Sie MySQL 5.7 manuell auf CentOS 7.4

MySQL-Datenbanken werden häufig verwendet, insbes...

Detaillierte Erklärung zur Überwachung von MySQL-Anweisungen

Schnelles Lesen Warum müssen wir SQL-Anweisungen ...

CentOS7-Konfiguration Alibaba Cloud Yum-Quellmethodencode

Öffnen Sie den Centos Yum-Ordner Geben Sie den Be...

Einführung in die Verwendung des offiziellen MySQL-Leistungstesttools mysqlslap

Inhaltsverzeichnis Einführung Anweisungen Tatsäch...

JavaScript verwendet setTimeout, um einen Countdown-Effekt zu erzielen

Um die Fähigkeit zum Schreiben von nativem JavaSc...

So verarbeiten Sie Blob-Daten in MySQL

Der spezifische Code lautet wie folgt: Paket epoi...

Vue implementiert Upload-Komponente

Inhaltsverzeichnis 1. Einleitung 2. Ideen Zwei Mö...

Schritte zur Installation von MySQL 5.7.10 auf Windows Server 2008 R2

Installation mithilfe des MSI-Installationspakets...

Grafisches Tutorial zur Installation und Konfiguration von CenOS6.7 mysql 8.0.22

CenOS6.7 installiert MySQL8.0.22 (empfohlene Samm...

Iframe-Parameter mit Anweisungen und Beispielen

<iframe src=”test.jsp” Breite=”100″ Höhe=”50″ ...

Benutzerdefinierte Docker-Netzwerkcontainer-Verbindung

Inhaltsverzeichnis Vorwort -Link Benutzerdefinier...

So schreiben Sie den Einführungsinhalt der Infoseite der Website

Alle Websites, ob offiziell, E-Commerce, soziale ...