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

MySQL-Schritte vollständig löschen

Inhaltsverzeichnis 1. Stoppen Sie zuerst den MySQ...

MySQL-Optimierung: InnoDB-Optimierung

Lernpläne werden leicht unterbrochen und es ist s...

Detaillierter Informationsaustausch über das MySQL-Protokollsystem

Jeder, der schon einmal an einem großen System ge...

Webdesign-Erfahrung: Selbstgerechte Webdesigner

1. Trash oder Klassiker? Die Webtechnologie aktua...

So erstellen Sie eine Ansicht in MySQL

Grundlegende Syntax Sie können eine Ansicht mit d...

WeChat-Miniprogramme ermöglichen nahtloses Scrollen

In diesem Artikelbeispiel wird der spezifische Co...

Docker führt Vorgänge mit dem angegebenen Speicher aus

wie folgt: -m, --memory Speicherlimit, das Format...

Beispiel für einen Fork- und Mutex-Lock-Prozess im Linux-Multithreading

Inhaltsverzeichnis Frage: 1. Erster Versuch 2. Ra...

Node.js verwendet die Express-Fileupload-Middleware zum Hochladen von Dateien

Inhaltsverzeichnis Initialisieren des Projekts Sc...

Ein Artikel zum Verständnis der erweiterten Funktionen von K8S

Inhaltsverzeichnis Erweiterte Funktionen des K8S ...

Der Unterschied zwischen ${param} und #{param} in MySQL

Der von ${param} übergebene Parameter wird als Te...