CSS Logical Properties: Die Leserichtung bestimmt, was oben ist
Hintergründe
Seit der Entwicklung von CSS1 im Jahr 1996 durch das World Wide Web Consortium (W3C), wird die Größe von Elementen einer Website traditionell nach den physischen Abmessungen des Bildschirms bemessen. Boxen haben eine Breite (width
) und Höhe (height
) und dessen Abstände, Position oder Ränder werden über top
, right
, bottom
oder left
bestimmt.
Leserichtung
Das funktioniert in den Sprachen und Kulturen gut, in denen die Leserichtung von links nach rechts und von oben nach unten verläuft – wie bei uns. Im Japanischen, Chinesischen und Koreanischen beginnen die Zeilen jedoch am rechten Rand und verlaufen nach links. Text in lateinischer Schrift verläuft in der Regel von unten nach oben, wobei die Buchstaben im Uhrzeigersinn gedreht werden, während die Han-Zeichen aufrecht stehen. In Mongolisch beginnen die Zeilen am linken Rand und verlaufen nach rechts.
Mit der Eigenschaft writing-mode: vertical-rl
können wir den Text in CSS vertikal von rechts nach links und mit writing-mode: vertical-lr
von links nach rechts fließen lassen, um die Leserichtung zu ändern und die oben genannten Sprachen zu unterstützen.
Wenn wir wie im Beispiel oben den blauen Rand aber weiterhin mit border-left
festlegen, bleibt dieser stets links und nicht jedoch am Anfang des Textes, wie wir uns gedacht haben. Deshalb wurden logische Eigenschaften und Werte in CSS eingeführt. Diese basieren nicht mehr auf den physikalischen Eigenschaften, sondern auf der Leserichtung.
Demo
Auf der folgenden Seite habe ich dir ein Beispiel vorbereitet, wie sich physische und Flow-basierte Eigenschaften auf andere Sprachen auswirken.
Öffne den Codepen.
Logische Eigenschaften und Werte
Logische Eigenschaften und Werte verwenden die abstrakten Begriffe block
und ìnline
, um die Richtung zu beschreiben. Die physische Bedeutung dieser Begriffe hängt vom Schreibmodus ab.
block
- Die Dimension senkrecht zum Textfluss. Im horizontalen Schreibmodus entspricht dies der vertikalen Richtung, im vertikalen Schreibmodus der horizontalen Richtung.
inline
- Die Dimension parallel zum Textfluss. Im horizontalen Schreibmodus entspricht dies der horizontalen Richtung, im vertikalen Schreibmodus der vertikalen Richtung.
Statt top
, right
, bottom
und left
verwenden wir block-start
, inline-end
, block-end
und inline-start
.
Das Beispiel von oben sähe mit logischen Eigenschaften so aus:
Auf der Seite Dokumentation habe ich dir die Referenz zu den logischen Eigenschaften und Werten verlinkt. Das hilft anfangs, wenn du für eine physische Eigenschaft die logische Entsprechung suchst.
Merkhilfe: Im Supermarkt stehen wir am Anfang oder am Ende der Schlange, nicht oben oder unten.
Fußnoten
-
CSS ist eine Stylesheet-Sprache, die verwendet wird, um das Aussehen einer Website zu definieren. Sie definiert die Farben, Schriftarten, Layouts und andere visuelle Aspekte einer Website. ↩