writing-mode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
Die writing-mode
CSS Eigenschaft legt fest, ob Textzeilen horizontal oder vertikal angeordnet werden und in welcher Richtung sich Blöcke fortbewegen. Wenn diese Eigenschaft für ein gesamtes Dokument gesetzt wird, sollte sie auf dem Wurzelelement festgelegt werden (dem html
-Element für HTML-Dokumente).
Probieren Sie es aus
Diese Eigenschaft legt die Blockflussrichtung fest, also die Richtung, in der Container auf Blockebene gestapelt werden und der Inhalt auf Inline-Ebene innerhalb eines Blockcontainers fließt. Somit bestimmt sie auch die Reihenfolge des Inhalts auf Blockebene.
Syntax
/* Keyword values */
writing-mode: horizontal-tb;
writing-mode: vertical-rl;
writing-mode: vertical-lr;
/* Global values */
writing-mode: inherit;
writing-mode: initial;
writing-mode: revert;
writing-mode: revert-layer;
writing-mode: unset;
Die writing-mode
Eigenschaft wird als einer der unten aufgeführten Werte angegeben. Die Flussrichtung bei horizontalen Schriften wird auch durch die Richtung dieser Schrift beeinflusst, entweder von links nach rechts (ltr
, wie Englisch und die meisten anderen Sprachen) oder von rechts nach links (rtl
, wie Hebräisch oder Arabisch).
Werte
horizontal-tb
-
Für
ltr
Schriften fließt der Inhalt horizontal von links nach rechts. Fürrtl
Schriften fließt der Inhalt horizontal von rechts nach links. Die nächste horizontale Zeile wird unterhalb der vorherigen Zeile positioniert. vertical-rl
-
Für
ltr
Schriften fließt der Inhalt vertikal von oben nach unten und die nächste vertikale Zeile wird links von der vorherigen Zeile positioniert. Fürrtl
Schriften fließt der Inhalt vertikal von unten nach oben und die nächste vertikale Zeile wird rechts von der vorherigen Zeile positioniert. vertical-lr
-
Für
ltr
Schriften fließt der Inhalt vertikal von oben nach unten und die nächste vertikale Zeile wird rechts von der vorherigen Zeile positioniert. Fürrtl
Schriften fließt der Inhalt vertikal von unten nach oben und die nächste vertikale Zeile wird links von der vorherigen Zeile positioniert. sideways-rl
-
Für
ltr
Schriften fließt der Inhalt vertikal von oben nach unten. Fürrtl
Schriften fließt der Inhalt vertikal von unten nach oben. Alle Glyphen, selbst in vertikalen Schriften, sind seitlich nach rechts ausgerichtet. sideways-lr
-
Für
ltr
Schriften fließt der Inhalt vertikal von unten nach oben. Fürrtl
Schriften fließt der Inhalt vertikal von oben nach unten. Alle Glyphen, selbst in vertikalen Schriften, sind seitlich nach links ausgerichtet. lr
-
Veraltet, außer für SVG1-Dokumente. Für CSS verwenden Sie stattdessen
horizontal-tb
. lr-tb
-
Veraltet, außer für SVG1-Dokumente. Für CSS verwenden Sie stattdessen
horizontal-tb
. rl
-
Veraltet, außer für SVG1-Dokumente. Für CSS verwenden Sie stattdessen
horizontal-tb
. tb
-
Veraltet, außer für SVG1-Dokumente. Für CSS verwenden Sie stattdessen
vertical-lr
. tb-lr
-
Veraltet, außer für SVG1-Dokumente. Für CSS verwenden Sie stattdessen
vertical-lr
. tb-rl
-
Veraltet, außer für SVG1-Dokumente. Für CSS verwenden Sie stattdessen
vertical-rl
.
Formale Definition
Anfangswert | horizontal-tb |
---|---|
Anwendbar auf | alle Elemente außer Tabellenzeilengruppen, Tabellenspaltengruppen, Tabellenzeilen und Tabellenspalten |
Vererbt | Ja |
Berechneter Wert | wie angegeben |
Animationstyp | Not animatable |
Formale Syntax
Beispiele
Verwendung mehrerer Schreibmodi
Dieses Beispiel zeigt alle Schreibmodi, wobei jeder mit Text in verschiedenen Sprachen dargestellt wird.
HTML
Das HTML ist eine <table>
mit jedem Schreibmodus in einer Zeile, mit einer Spalte, die Text in verschiedenen Schriften zeigt, die diesen Schreibmodus verwenden.
<table>
<caption>
Using multiple writing modes
</caption>
<tr>
<th>Value</th>
<th>Vertical script</th>
<th>Horizontal (LTR) script</th>
<th>Horizontal (RTL) script</th>
<th>Mixed script</th>
</tr>
<tr class="text1">
<th>horizontal-tb</th>
<td>我家没有电脑。</td>
<td>Example text</td>
<td>מלל ארוך לדוגמא</td>
<td>1994年に至っては</td>
</tr>
<tr class="text2">
<th>vertical-lr</th>
<td>我家没有电脑。</td>
<td>Example text</td>
<td>מלל ארוך לדוגמא</td>
<td>1994年に至っては</td>
</tr>
<tr class="text3">
<th>vertical-rl</th>
<td>我家没有电脑。</td>
<td>Example text</td>
<td>מלל ארוך לדוגמא</td>
<td>1994年に至っては</td>
</tr>
<tr class="experimental text4">
<th>sideways-lr</th>
<td>我家没有电脑。</td>
<td>Example text</td>
<td>מלל ארוך לדוגמא</td>
<td>1994年に至っては</td>
</tr>
<tr class="experimental text5">
<th>sideways-rl</th>
<td>我家没有电脑。</td>
<td>Example text</td>
<td>מלל ארוך לדוגמא</td>
<td>1994年に至っては</td>
</tr>
</table>
<p class="notice">
Your browser does not support the <code>sideways-lr</code> or
<code>sideways-rl</code> values.
</p>
CSS
Das CSS, das die Richtungsbestimmung des Inhalts anpasst, sieht so aus:
.text1 td {
writing-mode: horizontal-tb;
}
.text2 td {
writing-mode: vertical-lr;
}
.text3 td {
writing-mode: vertical-rl;
}
.text4 td {
writing-mode: sideways-lr;
}
.text5 td {
writing-mode: sideways-rl;
}
Ergebnis
Verwendung von writing-mode mit Transformationen
Wenn Ihr Browser sideways-lr
nicht unterstützt, besteht eine Möglichkeit darin, transform
zu verwenden, um einen ähnlichen Effekt abhängig von der Schreibrichtung zu erzielen. Der Effekt von vertical-rl
entspricht sideways-lr
, sodass keine Transformation für von links nach rechts gerichtete Schriften erforderlich ist. In einigen Fällen reicht es, den Text um 180 Grad zu drehen, um den Effekt von sideways-lr
zu erzielen, aber Schriftarten-Glyphen sind möglicherweise nicht für eine Drehung ausgelegt, was zu unerwarteten Positionierungen oder Darstellungen führen kann.
HTML
<table>
<caption>
Using writing-mode with transforms
</caption>
<thead>
<tr>
<th>Vertical LR</th>
<th>Vertical LR with transform</th>
<th>Sideways LR</th>
<th>Only rotate</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<span class="vertical-lr">我家没有电脑。</span>
<span class="vertical-lr">Example text</span>
</td>
<td>
<span class="vertical-lr rotated">我家没有电脑。</span>
<span class="vertical-lr rotated">Example text</span>
</td>
<td>
<span class="sideways-lr">我家没有电脑。</span>
<span class="sideways-lr">Example text</span>
</td>
<td>
<span class="only-rotate">我家没有电脑。</span>
<span class="only-rotate">Example text</span>
</td>
</tr>
</tbody>
</table>
CSS
.vertical-lr {
writing-mode: vertical-lr;
}
.rotated {
transform: rotate(180deg);
}
.sideways-lr {
writing-mode: sideways-lr;
}
.only-rotate {
inline-size: fit-content;
transform: rotate(-90deg);
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Writing Modes Level 4 # block-flow |
Browser-Kompatibilität
BCD tables only load in the browser