text-emphasis-position
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 2022.
* Some parts of this feature may have varying levels of support.
Die text-emphasis-position CSS Eigenschaft legt fest, wo Hervorhebungszeichen gezeichnet werden. Ähnlich wie bei dem vom <ruby> HTML-Element gerenderten Text wird, falls nicht genügend Platz für Hervorhebungszeichen vorhanden ist, die Zeilenhöhe erhöht.
Probieren Sie es aus
text-emphasis-position: auto;
text-emphasis-position: over right;
text-emphasis-position: under right;
text-emphasis-position: auto;
writing-mode: vertical-rl;
text-emphasis-position: over left;
writing-mode: vertical-rl;
text-emphasis-position: over right;
writing-mode: vertical-rl;
<section id="default-example">
<p>
I'd far rather be
<span class="transition-all" id="example-element">happy than right</span>
any day.
</p>
</section>
p {
font: 1.5em sans-serif;
}
#example-element {
text-emphasis: filled double-circle #ffb703;
}
Syntax
/* Initial value */
text-emphasis-position: auto;
/* Keyword values */
text-emphasis-position: over;
text-emphasis-position: under;
text-emphasis-position: over right;
text-emphasis-position: over left;
text-emphasis-position: under right;
text-emphasis-position: under left;
text-emphasis-position: left over;
text-emphasis-position: right over;
text-emphasis-position: right under;
text-emphasis-position: left under;
/* Global values */
text-emphasis-position: inherit;
text-emphasis-position: initial;
text-emphasis-position: revert;
text-emphasis-position: revert-layer;
text-emphasis-position: unset;
Werte
Die Eigenschaft akzeptiert einen oder zwei Werte:
- Wenn nur ein Wert angegeben wird, kann es
auto,overoderundersein. Wenn nuroveroderunderverwendet wird, wirdrightals Standardposition angenommen. - Wenn zwei Werte angegeben werden, müssen sie eines von
overoderunderund eines vonrightoderleftenthalten. Ihre Reihenfolge spielt keine Rolle.
Die Werte umfassen:
auto-
Zeichnet Zeichen über den Text im horizontalen Schreibmodus und rechts vom Text im vertikalen Schreibmodus.
over-
Zeichnet Zeichen über den Text im horizontalen Schreibmodus.
under-
Zeichnet Zeichen unter dem Text im horizontalen Schreibmodus.
right-
Zeichnet Zeichen rechts vom Text im vertikalen Schreibmodus.
left-
Zeichnet Zeichen links vom Text im vertikalen Schreibmodus.
Beschreibung
Die bevorzugte Position von Hervorhebungszeichen hängt von der Sprache ab. Im Japanischen ist beispielsweise die bevorzugte Position over right. Im Chinesischen hingegen ist die bevorzugte Position under right. Die informative Tabelle unten fasst die bevorzugten Positionen von Hervorhebungszeichen für Chinesisch, Mongolisch und Japanisch zusammen:
| Sprache | Bevorzugte Position | Abbildung | ||
|---|---|---|---|---|
| Horizontal | Vertikal | |||
| Japanisch | over | right |
|
|
| Koreanisch | ||||
| Mongolisch | ||||
| Chinesisch | under | right |
|
|
Hinweis:
Die text-emphasis-position kann nicht gesetzt werden und wird daher auch nicht zurückgesetzt, wenn die text-emphasis Kurzform-Eigenschaft verwendet wird.
Formale Definition
| Anfangswert | auto |
|---|---|
| Anwendbar auf | alle Elemente |
| Vererbt | Ja |
| Berechneter Wert | wie angegeben |
| Animationstyp | diskret |
Formale Syntax
text-emphasis-position =
[ over | under ] &&
[ right | left ]?
Beispiele
>Positionen von Hervorhebungszeichen hinzufügen
Verwenden Sie das Dropdown-Menü, um die Position der Hervorhebungszeichen zu ändern. Dies ändert die Klasse auf dem <section>-Element, was wiederum die Position der Hervorhebungszeichen im Text aktualisiert.
HTML
<section id="setting" class="auto">
<p class="horizontal" lang="zh">你好世界</p>
<!-- Hello World in Chinese -->
<p class="vertical" lang="ja">世界、こんにちは。</p>
<!-- Hello World in Japanese -->
</section>
CSS
section p {
text-emphasis: filled circle tomato;
text-emphasis-position: auto;
}
.over-right p,
.preferred p [lang="ja"] {
text-emphasis-position: over right;
}
.over-left p {
text-emphasis-position: over left;
}
.under-right p,
.preferred p [lang="zh"] {
text-emphasis-position: under right;
}
.under-left p {
text-emphasis-position: under left;
}
.preferred p [lang="ja"] {
}
Ergebnis
Verwenden Sie das Dropdown-Menü "Emphasis position", um den Ort der Hervorhebungszeichen zu wählen. Die preferred-Option im Dropdown verwendet die bevorzugten Positionen, wie im Abschnitt Beschreibung erklärt.
Vorziehen von Ruby gegenüber Hervorhebungszeichen
Einige Editoren ziehen es vor, Hervorhebungszeichen auszublenden, wenn sie mit Ruby kollidieren. In HTML kann dies mit der folgenden Stilregel erreicht werden:
ruby {
text-emphasis: none;
}
Vorziehen von Hervorhebungszeichen gegenüber Ruby
Andere Editoren ziehen es vor, Ruby auszublenden, wenn sie mit Hervorhebungszeichen kollidieren. In HTML kann dies mit folgendem Muster erreicht werden:
em {
text-emphasis: dot; /* Set text-emphasis for <em> elements */
}
em rt {
display: none; /* Hide ruby inside <em> elements */
}
Spezifikationen
| Specification |
|---|
| CSS Text Decoration Module Level 3> # text-emphasis-position-property> |
Browser-Kompatibilität
Loading…
Siehe auch
text-underline-positiontext-emphasis-styletext-emphasis-colortext-emphasisKurzform-Eigenschaftwriting-mode