Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Box-Ausrichtung für Block-, absolut positionierte und Tabellenlayouts

Das CSS Box-Ausrichtungsmodul beschreibt, wie die Ausrichtung in verschiedenen Layoutmethoden funktioniert. In diesem Leitfaden untersuchen wir, wie die Box-Ausrichtung im Kontext von Block-Layouts funktioniert, einschließlich gefloateter, positionierter und Tabellenelemente. Da dieser Leitfaden darauf abzielt, Dinge zu detaillieren, die spezifisch für Block-Layouts und Box-Ausrichtung sind, sollte er zusammen mit dem Box-Ausrichtungsleitfaden gelesen werden, der die gemeinsamen Merkmale der Box-Ausrichtung über Layoutmethoden hinweg beschreibt.

align-content und justify-content

Die justify-content-Eigenschaft gilt nicht für Block-Container oder Tabellenzellen.

Die align-content-Eigenschaft wird auf die Blockachse angewendet, um die Inhalte der Box innerhalb ihres Containers auszurichten. Wenn eine Methode zur Inhaltsverteilung wie space-between, space-around oder space-evenly angefordert wird, wird die Fallback-Ausrichtung verwendet, da der Inhalt als ein einziges Ausrichtungsobjekt behandelt wird.

justify-self

Die justify-self-Eigenschaft wird verwendet, um ein Element innerhalb seines enthaltenen Blocks auf der Inline-Achse auszurichten.

Diese Eigenschaft gilt nicht für gefloatete Elemente oder Tabellenzellen.

align-self

Die align-self-Eigenschaft gilt nicht für Block-Level-Boxen (einschließlich Floats), da es mehr als ein Element auf der Blockachse gibt. Sie gilt auch nicht für Tabellenzellen.

Absolut positionierte Elemente

Der Ausrichtungscontainer ist der positionierte Block, unter Berücksichtigung der Versatzwerte von oben, links, unten und rechts. Das normale Schlüsselwort wird zu stretch, es sei denn, das positionierte Element ist ein ersetztes Element, in welchem Fall es zu start aufgelöst wird.

Ausrichtung in diesen Layoutmethoden heute

Da wir derzeit keine Browser-Unterstützung für die Box-Ausrichtung in Block-Layouts haben, bestehen Ihre Optionen zur Ausrichtung entweder darin, eine der bestehenden Ausrichtungsmethoden zu verwenden oder ein einzelnes Element innerhalb eines Containers zu einem Flex-Element zu machen, um die in Flexbox spezifizierten Ausrichtungseigenschaften zu verwenden.

Die horizontale Ausrichtung von Blöcken vor Flexbox wurde typischerweise durch das Setzen von automatischen Rändern auf dem Block erreicht. Ein margin von auto absorbiert allen verfügbaren Raum in dieser Dimension, daher können Sie durch Setzen eines linken und rechten Randes von auto einen Block in die Mitte schieben:

css
.container {
  width: 20em;
  margin-left: auto;
  margin-right: auto;
}

Im Tabellenlayout haben Sie Zugriff auf die vertical-align-Eigenschaft, um den Inhalt einer Zelle innerhalb dieser Zelle auszurichten.

Für viele Anwendungsfälle gibt Ihnen die Umwandlung des Block-Containers in ein Flex-Element die Ausrichtungsfähigkeit, die Sie suchen. Im nachfolgenden Beispiel ist ein Container mit einem einzigen Element darin zu einem Flex-Container geworden, um die Ausrichtungseigenschaften verwenden zu können.

html
<div class="box">
  <div></div>
</div>
css
.box {
  height: 300px;
  border: 2px dotted rgb(96 139 168);
}

.box > * {
  border: 2px solid rgb(96 139 168);
  border-radius: 5px;
  background-color: rgb(96 139 168 / 0.2);
}
.box {
  display: flex;
  align-items: center;
  justify-content: center;
}

.box div {
  width: 100px;
  height: 100px;
}

Siehe auch