CSS 2.1 · Eigenschaft
CSS-Eigenschaft unicode-bidi
Vollreferenz zu unicode-bidi: erlaubte Werte, Ausgangswert, Vererbung, Beispiel – und ein Regler, der zeigt, was die Eigenschaft tut.
unicode-bidi.probe { unicode-bidi: bidi-override; }
Der Webautor schreibt einen Absatz, der Browser setzt ihn nach den Regeln des Stylesheets. Groß- und Kleinschreibung, Abstand, Farbe und Schnitt hängen an genau einer Eigenschaft.
Erläuterungen
Die Eigenschaft Unicode- bidi wird zusammen mit der Eigenschaft direction in Dokumenten angewandt, die sowohl die Schreibrichtung von links nach rechts als auch von rechts nach links enthalten. Durch Unicode- bidi lässt sich ein Bereich mit umgekehrter Schreibrichtung definieren. Solche wechselnden Schreibrichtungen in Webdokumenten nennt man Bidirektionalität, oder kurz bidi, daher der Name. Sie dienen dazu, die Schreibrichtung und die Anordnung der Schriftzeichen nach dem Unicode-Standard anzupassen. Die Bereiche mit geänderter Schreibrichtung lassen sich bis zur Tiefe von 15 ineinander verschachteln.
Ein Beispiel für die Umkehr der Schreibrichtung wird im Artikel über das Modell der visuellen Formatierung vorgestellt. Der Beispieltext enthält deutsche und hebräische Worte. Man kann dort gut erkennen, wie sich die Zeichenfolge innerhalb des Absatzes umkehrt.
Erlaubte Werte
Auszug aus der Spezifikation (die verwendete Syntax wird im Artikel CSS-Wertesyntax genauer erläutert):
'Unicode- bidi' normal | embed | bidi-override | inherit
normal(Ausgangswert)- Mit diesem Wert eröffnet das Element keinen neuen Bereich mit geänderter Schreibrichtung.
embed- Innerhalb von Elementen im Kontext zur Inline- Formatierung eröffnet dieser Wert einen neuen Bereich mit geänderter Schreibrichtung. Diese Richtung wird durch die Eigenschaft
directionbestimmt. Das Umordnen der Schriftzeichen erfolgt implizit. bidi-override- Dieser Wert bestimmt, dass das Umordnen der Schriftzeichen innerhalb eines Bereiches mit geänderter Schreibrichtung strikt nach dem Wert der Eigenschaft
directionerfolgt. Der Algorithmus für das implizite Umordnen der Schriftzeichen wird ignoriert. Der Wertbidi-overridegilt nur für Elemente im Kontext zur Inline- Formatierung. inherit- Bestimmt explizit, dass diese Eigenschaft denselben berechneten Wert wie im Elternelement annimmt.
Code-Beispiel
P:lang(de) { direction: ltr; Unicode- bidi: embed; }
Browserunterstützung
Die Eigenschaft unicode- bidi wird mit zwei Ausnahmen von allen modernen Browsern unterstützt:
- IE/Mac 5
- IE/Mac unterstützt diese Eigenschaft nicht.
- Safari 1.3
- Safari unterstützt diese Eigenschaft ebenfalls bisher nicht.
Eric Meyer's CSS2 Test Suite zeigt am praktischen Beispiel, wie die Browser mit dieser Eigenschaft umgehen.
Keine Eigenschaft und kein Selektor stehen in einem Stylesheet für sich allein. In der Praxis kann das Zusammenspiel zwischen verschiedenen Elementen und Selektoren einen nicht zu unterschätzenden Einfluss auf die Fähigkeiten der Browser haben. Bugs treten oft erst durch das Zusammenwirken mehrerer Eigenschaften an unterschiedlichen Elementen auf.
Wechselwirkungen
Der Algorithmus und was ihn übersteuert
Text mit gemischten Schreibrichtungen wird nicht vom Stylesheet sortiert, sondern von einem Verfahren, das jedem Zeichen eine Richtung zuordnet und daraus die Anordnung berechnet. Buchstaben tragen ihre Richtung in sich, Ziffern und Satzzeichen nicht; deren Lage ergibt sich aus der Umgebung.
Meistens genügt das. Probleme entstehen dort, wo die Struktur des Dokuments etwas trennt, das der Algorithmus zusammenhängend sieht, oder wo ein Zeichen zwischen zwei Richtungen steht und dadurch an die falsche Stelle rutscht. Genau für diese Fälle gibt es diese Eigenschaft.
Sie greift in das Verfahren ein: Sie kann ein Element aus der umgebenden Richtung herauslösen und einen eigenen Abschnitt aufmachen, oder sie kann die Richtung darin erzwingen, statt sie berechnen zu lassen. Ohne die Eigenschaft für die Grundrichtung ergibt sie keinen Sinn, weshalb beide immer gemeinsam auftreten.
Einbetten oder überschreiben
Die beiden Eingriffe unterscheiden sich in ihrer Härte. Der eine öffnet einen Abschnitt mit eigener Grundrichtung; innerhalb dieses Abschnitts arbeitet das Verfahren weiter wie gewohnt, nur eben mit einer anderen Voreinstellung. Das ist der Normalfall für zitierten Text in einer anderen Sprache.
Der andere schaltet das Verfahren für den betroffenen Text ab und ordnet die Zeichen strikt in der angegebenen Richtung an. Das ist ein grober Eingriff, der einen Text unlesbar machen kann, und er ist nur dort richtig, wo die Reihenfolge bereits im Quelltext stimmt und nicht mehr berechnet werden soll.
Weil die Wirkung an der Struktur hängt, sind Elemente, die den Textfluss verlassen, ohnehin eigenständig: ein Block oder ein umflossenes Element bildet immer einen eigenen Abschnitt. Die Eigenschaft ist deshalb vor allem für Inline-Elemente von Bedeutung.
Besonderheiten im Medientyp handheld
Diese Eigenschaft ist nicht Teil des Standards CSS Mobile Profile 1.0. Mobilgeräte, deren Browser diese Eigenschaft umsetzen, sind bisher nicht bekannt.
Weitere Charakteristika
Die Stylesheet-Schnellreferenz mit einer Zusammenfassung aller visuellen Eigenschaften kann auch als PDF-Datei herunter geladen werden.
- Ausgangswert
normal- Berechneter Wert
- Spezifizierter Wert
- Vererbung
- Nein
- Anwendbarkeit
- Auf alle Elemente, Einschränkungen siehe oben.
- %-Bezugswert
- Nicht zutreffend
- Mediengruppe(n)
- Visual
Verwendete Standards
Dieser CSS-Referenz liegen folgende Spezifikationen zugrunde: CSS 1, CSS 2.1 CR und CSS Mobile.