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

So fügen Sie einem Hintergrundbild in CSS3 eine Farbmaske hinzu

Vor einiger Zeit stieß ich während der Entwicklun...

So stellen Sie HBase mit Docker bereit

Standalone-HBase, lassen Sie uns zuerst darüber s...

Beispiel für die Verwendung der setInterval-Funktion in React

Dieser Artikel basiert auf der Windows 10-Systemu...

So verwenden Sie das Videowiedergabe-Plugin DPlayer.js

Das Videoplayer-Plugin DPlayer.js ist einfach zu ...

Was ist HTML?

Geschichte der HTML-Entwicklung: HTML steht im En...

Native JS-Drag-and-Drop-Funktion zum Erstellen eines Slider-Beispielcodes

Drag & Drop ist eine gängige Funktion im Fron...

So wählen und verwenden Sie PNG, JPG und GIF als Web-Bildformate

Welches dieser Formate (GIF, PNG oder JPG) sollte...

Optimierung der Web-Frontend-Leistung

Best Practices für die Web-Frontend-Optimierung: ...

Miniprogramm Benutzerdefinierte TabBar-Komponentenkapselung

In diesem Artikelbeispiel wird der spezifische Co...

Shell-Skripteinstellungen zum Verhindern von Brute-Force-SSH

Das Shell-Skript richtet die Zugriffskontrolle ei...