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

Detaillierte Erläuterung des Problemfalls beim Löschen des Vue KeepAlive-Cache

Keepalive wird häufig zum Caching in Vue-Projekte...

Lösen Sie das Problem, dass ifconfig im Docker nicht verfügbar ist

Als ich kürzlich Docker lernte, stellte ich fest,...

So legen Sie einen gepunkteten Rahmen in HTML fest

Verwenden Sie CSS-Stile und HTML-Tag-Elemente Um ...

SQL IDENTITY_INSERT-Fallstudie

Wenn eine Spalte in einer Datentabelle einmal als...

Installationsprozess der React Native-Umgebung

React-Native-Installationsprozess 1.npx react-nat...

Beheben Sie den Fehler bei der Installation von VMware Tools unter Ubuntu 18.04

1. Laut dem Online-Tutorial schlägt die Installat...

Zusammenfassung häufig verwendeter Leistungstestskripte für VPS-Server

Hier ist ein allgemeines Ein-Klick-Leistungstests...

Detailliertes Tutorial zur Installation von Anaconda3 auf Ubuntu 18.04

Anaconda bezeichnet eine Open-Source-Python-Distr...

Teilen Sie einige ungewöhnliche, aber nützliche JS-Techniken

Vorwort Programmiersprachen enthalten normalerwei...

Fallzusammenfassung zur Vue-Komponentenkommunikationsmethode

Inhaltsverzeichnis 1. Übergeordnete Komponente üb...

js einfacher und grober Beispielcode zum Veröffentlichen und Abonnieren

Was ist Publizieren/Abonnieren? Lassen Sie mich I...

So kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung

Dieser Artikel beschreibt, wie man PHP und Nginx ...

So verhindern Sie das Flashen von Vue in kleinen Projekten

Zusammenfassung HTML: Element plus V-Umhang CSS: ...