Logische Eigenschaften für Floats und Positionierung

Das Modul CSS logische Eigenschaften und Werte enthält logische Zuordnungen für die physischen Werte von float und clear, sowie für die Positionierungseigenschaften, die mit dem positionierten Layout verwendet werden. Dieser Leitfaden zeigt, wie man diese verwendet.

Zuordnete Eigenschaften und Werte

Die folgende Tabelle führt die logischen Eigenschaften und Werte auf, die in diesem Leitfaden besprochen werden, zusammen mit ihren Zuordnungen zu physischen Eigenschaften und Werten. Sie nehmen einen horizontalen writing-mode mit einer Links-nach-Rechts-Richtung an.

Logische Eigenschaft oder Wert Physische Eigenschaft oder Wert
float: inline-start float: left
float: inline-end float: right
clear: inline-start clear: left
clear: inline-end clear: right
inset-inline-start left
inset-inline-end right
inset-block-start top
inset-block-end bottom
text-align: start text-align: left
text-align: end text-align: right

Zusätzlich zu diesen zugeordneten Eigenschaften gibt es einige zusätzliche Kurznotationseigenschaften, die durch die Möglichkeit, Block- und Inline-Dimensionen anzusprechen, ermöglicht werden. Diese haben keine Zuordnung zu physischen Eigenschaften, abgesehen von der inset-Eigenschaft.

Logische Eigenschaft Zweck
inset-inline Setzt beide oben genannten Einfügewerte für die Inline-Dimension gleichzeitig.
inset-block Setzt beide oben genannten Einfügewerte für die Block-Dimension gleichzeitig.
inset Setzt alle vier Einfügewerte gleichzeitig mit physischer Zuordnung von Mehrwerten.

Beispiel für Float und Clear

Die physischen Werte, die mit den Eigenschaften float und clear verwendet werden, sind left, right und both. Das CSS-Modul für logische Eigenschaften und Werte definiert die Werte inline-start und inline-end als Zuordnungen für left und right.

Dieses Beispiel hat zwei Boxen — die erste Box ist mit float: left gefloatet, die zweite mit float: inline-start. Wenn Sie den writing-mode auf vertical-rl oder die direction auf rtl ändern, sehen Sie, dass die links gefloatete Box immer links bleibt, während sich das inline-start-gefloatete Element der direction und dem writing-mode anpasst.

Beispiel: Einfügeeigenschaften für das positionierte Layout

Die CSS-Positionierung ermöglicht es im Allgemeinen, ein Element in einer Weise relativ zu seinem umgebenden Block zu positionieren — wir setzen das Element im Wesentlichen relativ zu dem Punkt, an dem es im normalen Fluss fallen würde, ein. Um ein Element relativ zum Ansichtsfenster zu positionieren, verwenden Sie die physischen Eigenschaften top, right, bottom und left. Wenn Sie möchten, dass die Positionierung sich auf den Textfluss im Schreibmodus bezieht, verwenden Sie stattdessen inset-block-start, inset-block-end, inset-inline-start und inset-inline-end.

Diese Eigenschaften nehmen eine Länge oder einen Prozentsatz als Wert und beziehen sich auf die Bildschirmabmessungen des Benutzers.

Im untenstehenden Beispiel werden die Eigenschaften inset-block-start und inset-inline-end verwendet, um die blaue Box mit absoluter Positionierung innerhalb des Bereichs mit der grauen gestrichelten Umrandung zu positionieren, der position: relative hat. Ändern Sie die writing-mode-Eigenschaft auf vertical-rl, oder fügen Sie direction: rtl hinzu, und sehen Sie, wie sich die relativ zum Textfluss positionierte Box verhält.

Neue Zwei- und Vier-Wert-Kurznotationen

Wie bei anderen Eigenschaften im Modul haben wir Kurznotationseigenschaften, die die Möglichkeit geben, zwei oder vier Werte gleichzeitig festzulegen.

  • inset — setzt alle vier Seiten zusammen mit physischer Zuordnung.
  • inset-inline — setzt beide logischen Inline-Einfügungen.
  • inset-block — setzt beide logischen Block-Einfügungen.

Beispiel: Logische Werte für text-align

Die text-align-Eigenschaft hat logische Werte, die sich auf die Textrichtung beziehen — anstatt left und right zu verwenden, können Sie start und end verwenden. Im untenstehenden Beispiel ist text-align: right im ersten Block gesetzt und text-align: end im zweiten.

Wenn Sie den Wert von direction auf rtl ändern, sehen Sie, dass die Ausrichtung beim ersten Block rechts bleibt, aber im zweiten Block zum logischen Ende auf der linken Seite geht.

Dies funktioniert konsistenter, wenn Sie Box-Ausrichtung verwenden, die Start und Ende anstelle von physischen Richtungen für die Ausrichtung verwendet.