CSS-Layout-Tutorial: So erreichen Sie eine vertikale Zentrierung

CSS-Layout-Tutorial: So erreichen Sie eine vertikale Zentrierung

Vorwort

Ich habe kürzlich mein Front-End-Wissen zusammengefasst und auch an einigen Interviews teilgenommen. Während des Interviews stieß ich auf eine Frage, die eine vertikale Zentrierung erforderte. Jetzt werde ich dies zusammenfassen, um mein Wissen zu festigen.

Vertikale Zentrierung in CSS

1. Verwenden Sie die Zeilenhöhe, um eine Zentrierung zu erreichen. Diese Methode eignet sich für reinen Text.

<!-- css -->
<Stil>
.Eltern {
  Höhe: 400px;
  Zeilenhöhe: 400px;
  Breite: 400px;
  Rand: 1px durchgehend rot;
  Textausrichtung: zentriert;
}

.Kind {
  Hintergrundfarbe: blau;
  Farbe: #fff;
}
 </Stil>
</Kopf>

<Text>
<!-- html -->
<div Klasse="Eltern">
   <span class="child">CSS-Layout, vertikale Zentrierung</span>
</div>
</body>

2. Durch Festlegen der relativen Positionierung des übergeordneten Containers und der absoluten Positionierung des untergeordneten Containers wird das Etikett adaptiv über den Rand zentriert.

<!-- css -->
<Stil>
.Eltern {
  Höhe: 400px;
  Breite: 400px;
  Rand: 1px durchgehend rot;
  Position: relativ;
}

.Kind {
  Breite: 200px;
  Höhe: 100px;
  Zeilenhöhe: 100px;
  Textausrichtung: zentriert;
  Farbe: #fff;
  Hintergrundfarbe: blau;
  /* Setze die vier Richtungen auf 0 und verwende dann den Rand auf Auto, um adaptiv zu zentrieren*/
  Position: absolut;
  oben: 0;
  rechts: 0;
  unten: 0;
  links: 0;
  Rand: automatisch;
}
 </Stil>
</Kopf>

<Text>
<!-- html -->
<div Klasse="Eltern">
  <span class="child">CSS-Layout, vertikale Zentrierung</span>
</div>
</body>

3. Flexibles Layout „Flex“: Das übergeordnete Element ist auf „Anzeige: Flex“ eingestellt, das untergeordnete Element auf „Rand automatisch“, um eine adaptive Zentrierung zu erreichen.

  <!-- css -->
  <Stil>
    .Eltern {
      Höhe: 400px;
      Breite: 400px;
      Rand: 1px durchgehend rot;
      Anzeige: Flex;
    }

    .Kind {
      Breite: 200px;
      Höhe: 100px;
      Zeilenhöhe: 100px;
      Textausrichtung: zentriert;
      Farbe: #333;
      Hintergrundfarbe: gelb;
      Rand: automatisch;
  }
 </Stil>
</Kopf>

<Text>
 <!-- html -->
  <div Klasse="Eltern">
    <span class="child">CSS-Layout, vertikale Zentrierung</span>
  </div>
</body>

4. Das übergeordnete Element ist auf relative Positionierung eingestellt, das untergeordnete Element auf absolute Positionierung. Dies wird durch eine Verschiebungstransformation erreicht.

  <!-- css -->
  <Stil>
    .Eltern {
      Höhe: 400px;
      Breite: 400px;
      Rand: 1px durchgehend rot;
      Position: relativ;
    }

    .Kind {
      Breite: 200px;
      Höhe: 100px;
      Zeilenhöhe: 100px;
      Textausrichtung: zentriert;
      Farbe: #fff;
      Hintergrundfarbe: grün;
      Position: absolut;
      oben: 50 %;
      links: 50%;
      transformieren: übersetzen(-50 %, -50 %);
    }
  </Stil>
</Kopf>

<Text>
  <!-- html -->
  <div Klasse="Eltern">
    <span class="child">CSS-Layout, vertikale Zentrierung</span>
  </div>
</body>

5. Das übergeordnete Element legt die elastische Box und die mit der elastischen Box verbundenen Eigenschaften fest.

 <!-- css -->
 <Stil>
    .Eltern {
      Höhe: 400px;
      Breite: 400px;
      Rand: 1px durchgehend rot;
      Anzeige: Flex;
      Inhalt ausrichten: zentriert; /* horizontal */
      align-items: center; /* vertikal */
    }

    .Kind {
      Breite: 200px;
      Höhe: 100px;
      Farbe: Schwarz;
      Hintergrundfarbe: orange;
    }
  </Stil>
</Kopf>

<Text>
  <!-- html -->
  <div Klasse="Eltern">
    <span Klasse="Kind"></span>
  </div>
</body>

6. Rasterlayout, das übergeordnete Element wird in eine Tabelle umgewandelt und dann wird das untergeordnete Element auf Inline oder Inline-Block eingestellt. (Es ist zu beachten, dass die Voraussetzung für die Verwendung von vertical-align: middle Inline-Elemente und Elemente mit einem Anzeigewert von table-cell sind).

 <!-- css -->
 <Stil>
    .Eltern {
      Höhe: 400px;
      Breite: 400px;
      Rand: 1px durchgehend rot;
      Anzeige: Tabellenzelle;
      Textausrichtung: zentriert;
      vertikale Ausrichtung: Mitte;
    }

    .Kind {
      Breite: 200px;
      Höhe: 100px;
      Farbe: #fff;
      Hintergrundfarbe: blau;
      Anzeige: Inline-Block; /* Einstellungen für untergeordnete Elemente inline oder Inline-Block*/
    }
  </Stil>
</Kopf>

<Text>
  <!-- html -->
  <div Klasse="Eltern">
    <span Klasse="Kind"></span>
  </div>
</body>

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

<<:  So erreichen Sie eine nahtlose Token-Aktualisierung

>>:  Web-Kenntnisse: Lösung für die Koexistenz mehrerer IE-Versionen IETester

Artikel empfehlen

Beispiele für die MySQL-Verschlüsselung und -Entschlüsselung

Beispiele für die MySQL-Verschlüsselung und -Ents...

Ausführliche Erklärung zu MySQL vom Einstieg bis zum Aufgeben - Installation

Was Sie lernen werden 1. Softwareinstallation und...

Verwenden von Apache ab zum Durchführen von HTTP-Leistungstests

Mac wird mit Apache-Umgebung geliefert Öffnen Sie...

Beispiel für Javascript-Bubblesort

Inhaltsverzeichnis 1. Was ist Bubble Sort 2. Gebe...

Optimieren der langsamen Abfrage von MySQL-Aggregatstatistikdaten

Vorne geschrieben Wenn wir in unserem täglichen L...

5 Möglichkeiten zum Löschen oder Entfernen großer Dateiinhalte in Linux

Beim Arbeiten mit Dateien im Linux-Terminal möcht...

MySQL 5.7.10 Installationsdokumentation Tutorial

1. Installieren Sie Abhängigkeitspakete yum -y in...

Vue implementiert den Schnittstellen-Gleiteffekt

In diesem Artikelbeispiel wird der spezifische Co...

Wissen Sie, wie viele Verbindungen ein Linux-Server verarbeiten kann?

Vorwort Sehen wir uns zunächst an, wie eine TCP-V...

Schritte zum Bereitstellen eines Spring Boot-Projekts mit Docker

Inhaltsverzeichnis Erstellen Sie ein einfaches Sp...