Zeilenumbruchbar <ruby> und CSS-Eigenschaft ruby-align.

Mariko Kosaka

Das HTML-Element <ruby> ist ein leistungsstarkes Tool zur Verbesserung der Textpräsentation, insbesondere für ostasiatische Sprachen. Mit diesem Element können Sie phonetische Anmerkungen oder andere ergänzende Informationen über oder neben dem Basistext anzeigen. Ab Chrome 128 können Ruby-Anmerkungen Zeilenumbrüche enthalten und du kannst den Ruby-Text mit der CSS-Eigenschaft ruby-align gestalten.

Ein <ruby>-Element besteht aus zwei Hauptteilen: ruby base (Haupttext) und ruby text (roter Text) als Anmerkungstext. Diese sind mit dem <rt>-Element ausgezeichnet. Ruby-Text kann über oder unter der Ruby-Basis angezeigt werden, wie in den folgenden Beispielen gezeigt.

<ruby>
  絵文字
  <rt>emoji</rt>
</ruby>
Englische Aussprache als Anmerkung über dem japanischen Basistext.
Englische Aussprache als Anmerkung über dem japanischen Basistext.

<ruby style="ruby-position: under;">
  강남대로
  <rt>江南大路</rt>
</ruby>
Chinesischer Hinweis unter koreanischem Hangul hinzugefügt
Unter dem koreanischen Hangul wurde ein chinesischer Hinweis eingefügt.

Warum heißt er Rubin?

Wenn Bücher mithilfe von beweglichen Typen typisiert wurden, wurden die Größen dieser beweglichen Typen in Namen mit Punktgröße wie "Perl" und "Diamant" definiert. Im britischen System wurde Ruby für die Größe 5,5 Punkt verwendet. Japanische Drucker verwendeten eine ähnliche Größe wie Ruby (5,5 Punkt) für Anmerkungstexte und bezeichneten den Anmerkungstext daher in Drucken als Ruby (oder Rubi phonetisch). Wenn der Anmerkungstext in HTML enthalten war, wurde das Element als <ruby> definiert. Pica (pc) ist ein weiterer historischer Punktgrößenname, der in CSS als Schriftgrößeneinheit verwendet wird.

Rubinrot

Wenn eine Ruby-Basis oder ein Ruby-Text zuvor länger als eine ganze Zeile war, wurden sie bisher einzeln umgebrochen, was Layout-Herausforderungen darstellt. Um dies zu umgehen, markieren Webentwickler oft einen Textabschnitt mit mehreren Ruby-Tags. Mit zeilenumbruchbarem Ruby können Sie das Erstellen eines solchen Markups überspringen.

Im folgenden Beispiel wird Pinyin (Lateinische Umschrift des Chinesisch) als eine Gruppe von Ruby-Anmerkungen zur klassischen chinesischen Dichtung hinzugefügt. Die aktuellen Rendering-Ergebnisse werden im Textbereich der Ruby-Anmerkung umgebrochen.

Rendering-Ergebnis vor Chrome 128 mit langem Ruby-Anmerkungstext.
Rendering-Ergebnis vor Chrome 128 mit langem Ruby-Anmerkungstext.

Das Rendering in Chrome 128 mit zeilenumbruchbaren Rubin-Anmerkungen, die über einen umschlossenen Basistext umschlossen sind, sorgt für ein ideales Textrendering.

Rendering-Ergebnis aus Chrome 128 mit langem Ruby-Anmerkungstext.
Rendering-Ergebnis aus Chrome 128 mit langem Ruby-Anmerkungstext.

In einem weiteren Beispiel aus der japanischen Literatur erfolgt der Zeilenumbruch vor dem langen Ruby-Element, wodurch ein Leerzeichen in der ersten Zeile entsteht.

Rendering-Ergebnis vor Chrome 128 mit langem Ruby-Text.
Rendering-Ergebnis vor Chrome 128 mit langem Ruby-Text.

Bei diesem Layout wird der Zeilenumbruch in der Mitte des langen Ruby-Elements platziert, um ein optimales Layout zu erzielen.

Rendering-Ergebnis aus Chrome 128 mit langem Ruby-Text.
Rendering-Ergebnis aus Chrome 128 mit langem Ruby-Text.

Mit dieser Funktion wird kein kurzer Ruby-Text mit weniger als vier Basiszeichen und höchstens acht Anmerkungszeichen unterbrochen.

Wenn ein <ruby>-Element in einem anderen <ruby>-Element verschachtelt ist, erfolgt kein Zeilenumbruch für das innere <ruby>-Element.

Da sich dadurch das Verhalten aktueller Webseiten mit langem Ruby-Text ändert, werden Zeilenumbrüche innerhalb des Zielelements wie gewohnt mit white-space:nowrap deaktiviert, wenn Sie diesen Zeilenumbruch deaktivieren müssen.

CSS-Eigenschaft ruby-align

Unterstützte Browser

  • x
  • x
  • 38

Quelle

Die neue CSS-Property ruby-align ist auch ab Chrome 128 verfügbar. Die Eigenschaft akzeptiert einen der Keyword-Werte space-around, space-between, start und center und steuert die Ausrichtung des Ruby-Basistexts und des Ruby-Anmerkungstexts.

Bild mit Anwendungsfall für die Property „ruby-align“.
Bild, das den Anwendungsfall für die Property „ruby-align“ zeigt.