The StyleWorksCSS { Referenz · Labor · Übungen }
  1. Startseite
  2. Referenz
  3. unicode-bidi

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.

Erstveröffentlichung Lesezeit 4 min
stylesheet.css · 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.

berechneter Wertunicode-bidi: bidi-override
Box-Breite–
Box-Höhe–

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 direction bestimmt. 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 direction erfolgt. Der Algorithmus für das implizite Umordnen der Schriftzeichen wird ignoriert. Der Wert bidi-override gilt 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

direction, :lang

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.