text-transform
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Die text-transform
CSS Eigenschaft spezifiziert, wie der Text eines Elements großgeschrieben wird. Sie kann verwendet werden, um Text in Großbuchstaben oder Kleinbuchstaben erscheinen zu lassen oder mit jedem Wort in Großbuchstaben. Sie kann auch helfen, die Lesbarkeit für Ruby zu verbessern.
Probieren Sie es aus
text-transform: capitalize;
text-transform: uppercase;
text-transform: lowercase;
text-transform: none;
text-transform: full-width;
text-transform: full-size-kana;
text-transform: math-auto;
<section id="default-example">
<div class="transition-all" id="example-element">
<p>
LONDON. Michaelmas term lately over, and the Lord Chancellor sitting in
Lincoln's Inn Hall.
</p>
<p lang="el">
Σ is a Greek letter and appears in ΟΔΥΣΣΕΥΣ. Θα πάμε στο "Θεϊκό φαΐ" ή στη
"Νεράιδα"
</p>
<p lang="ja">ァィゥェ ォヵㇰヶ</p>
</div>
</section>
#example-element {
font-size: 1.2em;
}
Die text-transform
Eigenschaft berücksichtigt sprachspezifische Groß- und Kleinschreibungsregeln wie die folgenden:
- In Turksprachen, wie Türkisch (
tr
), Aserbaidschanisch (az
), Krimtatarisch (crh
), Wolga-Tatarisch (tt
) und Baschkirisch (ba
), gibt es zwei Arten voni
, mit und ohne Punkt, und zwei Paarungen von Groß- und Kleinbuchstaben:i
/İ
undı
/I
. - Im Deutschen (
de
) wirdß
zuSS
in Großbuchstaben. - Im Niederländischen (
nl
) wird dasij
Digraph zuIJ
, sogar mittext-transform: capitalize
, das nur den ersten Buchstaben eines Wortes großschreibt. - Im Griechischen (
el
) verlieren Vokale ihren Akzent, wenn das ganze Wort in Großbuchstaben ist (ά
/Α
), außer für das disjunktive Eta (ή
/Ή
). Außerdem verlieren Diphthonge mit Akzent auf dem ersten Vokal den Akzent und erhalten ein Trema auf dem zweiten Vokal (άι
/ΑΪ
). - Im Griechischen (
el
) hat das kleine Sigma zwei Formen:σ
undς
.ς
wird nur verwendet, wenn Sigma ein Wort beendet. Bei Anwendung vontext-transform: lowercase
auf ein großes Sigma (Σ
) muss der Browser die richtige Kleinbuchstabenform basierend auf dem Kontext wählen. - Im Irischen (
ga
) bleiben bestimmte Präfixbuchstaben kleingeschrieben, wenn der Basisbuchstabe großgeschrieben wird, sodass beispielsweisetext-transform: uppercase
ar aon tslí
inAR AON tSLÍ
ändert und nicht, wie man erwarten könnte,AR AON TSLÍ
(nur Firefox). In manchen Fällen wird ein Bindestrich auch beim Großschreiben entfernt:an t-uisce
verwandelt sich inAN tUISCE
(und der Bindestrich wird korrekt durchtext-transform: lowercase
wieder eingefügt).
Die Sprache wird durch das lang
HTML Attribut oder das xml:lang
XML Attribut definiert.
Hinweis: Die Unterstützung für sprachspezifische Fälle variiert zwischen Browsern, daher prüfen Sie die Browser-Kompatibilitätstabelle.
Syntax
/* Keyword values */
text-transform: none;
text-transform: capitalize;
text-transform: uppercase;
text-transform: lowercase;
text-transform: full-width;
text-transform: full-size-kana;
text-transform: math-auto;
/* Global values */
text-transform: inherit;
text-transform: initial;
text-transform: revert;
text-transform: revert-layer;
text-transform: unset;
capitalize
Ist ein Schlüsselwort, das den ersten Buchstaben jedes Wortes in Großbuchstaben umwandelt. Andere Zeichen bleiben unverändert (sie behalten ihre ursprüngliche Schreibweise, wie im Text des Elements geschrieben). Ein Buchstabe ist definiert als ein Zeichen, das Teil der Unicode-Kategorien Letter oder Number ist; daher werden Satzzeichen oder Symbole am Anfang eines Wortes ignoriert.
Hinweis: Autoren sollten nicht erwarten, dass
capitalize
sprachspezifische Titelkonventionen befolgt (wie das Überspringen von Artikeln im Englischen).Hinweis: Das Schlüsselwort
capitalize
war in CSS 1 und CSS 2.1 unpräzise spezifiziert. Dies führte zu Unterschieden zwischen Browsern in der Art und Weise, wie der erste Buchstabe berechnet wurde (Firefox betrachtete-
und_
als Buchstaben, andere Browser nicht. Sowohl WebKit als auch Gecko betrachteten buchstabenbasierte Symbole wieⓐ
fälschlicherweise als echte Buchstaben). Durch die präzise Definition des richtigen Verhaltens, bereinigt CSS Text Level 3 dieses Durcheinander. Die Zeilecapitalize
in der Browser-Kompatibilitätstabelle enthält die Version, ab der die verschiedenen Engines dieses nun präzise definierte Verhalten unterstützen.uppercase
Ist ein Schlüsselwort, das alle Zeichen in Großbuchstaben umwandelt.
lowercase
Ist ein Schlüsselwort, das alle Zeichen in Kleinbuchstaben umwandelt.
none
Ist ein Schlüsselwort, das verhindert, dass die Groß- oder Kleinschreibung aller Zeichen geändert wird.
full-width
Ist ein Schlüsselwort, das das Schreiben eines Zeichens — hauptsächlich Ideogramme und lateinische Skripte — in einem Quadrat erzwingt, sodass sie in den üblichen ostasiatischen Schriften (wie Chinesisch oder Japanisch) ausgerichtet werden können.
full-size-kana
Allgemein verwendet für
<ruby>
Anmerkungstext, konvertiert das Schlüsselwort alle kleinen Kana-Zeichen in die entsprechenden vollständigen Kana, um Lesbarkeitsprobleme bei den typischerweise in Ruby verwendeten kleinen Schriftgrößen zu kompensieren.math-auto
Wird verwendet, um Text automatisch im mathematischen Kursivschriftstil darzustellen, wo es angemessen ist. Es transformiert lateinische und griechische Buchstaben und einige andere math-bezogene Symbole in kursive mathematische Symbole, aber nur, wenn es auf einen Textknoten angewendet wird, der ein einzelnes Zeichen enthält. Zum Beispiel wird "x" zu "𝑥" (U+1D465), aber "exp" bleibt "exp". Es wird hauptsächlich verwendet, um das Verhalten von
<mi>
Elementen in MathML zu spezifizieren. Sie sollten im Allgemeinen MathML-Markup verwenden, das automatisch das richtige Styling anwendet.
Barrierefreiheit
Große Textabschnitte, die mit einem text-transform
Wert von uppercase
gesetzt sind, können für Menschen mit kognitiven Einschränkungen wie Dyslexie schwer zu lesen sein.
Formale Definition
Anfangswert | none |
---|---|
Anwendbar auf | alle Elemente. Auch anwendbar auf ::first-letter und ::first-line . |
Vererbt | Ja |
Berechneter Wert | wie angegeben |
Animationstyp | diskret |
Formale Syntax
Beispiele
Beispiel mit "none"
<p>
Initial String
<strong>Lorem ipsum dolor sit amet, consectetur adipisicing elit…</strong>
</p>
<p>
text-transform: none
<strong
><span
>Lorem ipsum dolor sit amet, consectetur adipisicing elit…</span
></strong
>
</p>
span {
text-transform: none;
}
strong {
float: right;
}
Dies demonstriert keine Textumwandlung.
Beispiel mit "capitalize" (allgemein)
<p>
Initial String
<strong>Lorem ipsum dolor sit amet, consectetur adipisicing elit…</strong>
</p>
<p>
text-transform: capitalize
<strong
><span
>Lorem ipsum dolor sit amet, consectetur adipisicing elit…</span
></strong
>
</p>
span {
text-transform: capitalize;
}
strong {
float: right;
}
Dies demonstriert die Textkapitalisierung.
Beispiel mit "capitalize" (Zeichensetzung)
<p>
Initial String
<strong
>(this) "is" [a] –short– -test- «for» *the* _css_ ¿capitalize?
?¡transform!</strong
>
</p>
<p>
text-transform: capitalize
<strong
><span
>(this) "is" [a] –short– -test- «for» *the* _css_ ¿capitalize?
?¡transform!</span
></strong
>
</p>
span {
text-transform: capitalize;
}
strong {
float: right;
}
Dies demonstriert, wie Anfangszeichensetzungen eines Wortes ignoriert werden. Das Schlüsselwort zielt auf den ersten Buchstaben ab, das heißt das erste Unicode-Zeichen, das Teil der Unicode-Kategorien Letter oder Number ist.
Beispiel mit "capitalize" (Symbole)
<p>
Initial String
<strong>ⓐⓑⓒ (ⓓⓔⓕ) —ⓖⓗⓘ— ⓙkl</strong>
</p>
<p>
text-transform: capitalize
<strong><span>ⓐⓑⓒ (ⓓⓔⓕ) —ⓖⓗⓘ— ⓙkl</span></strong>
</p>
span {
text-transform: capitalize;
}
strong {
float: right;
}
Dies demonstriert, wie Anfangssymbole ignoriert werden. Das Schlüsselwort zielt auf den ersten Buchstaben ab, das heißt das erste Unicode-Zeichen, das Teil der Unicode-Kategorien Letter oder Number ist.
Beispiel mit "capitalize" (Niederländische ij Digraph)
<p>
Initial String
<strong lang="nl">The Dutch word: "ijsland" starts with a digraph.</strong>
</p>
<p>
text-transform: capitalize
<strong
><span lang="nl"
>The Dutch word: "ijsland" starts with a digraph.</span
></strong
>
</p>
span {
text-transform: capitalize;
}
strong {
float: right;
}
Dies demonstriert, wie das niederländische ij Digraph wie ein einzelner Buchstabe behandelt werden muss.
Beispiel mit "uppercase" (allgemein)
<p>
Initial String
<strong>Lorem ipsum dolor sit amet, consectetur adipisicing elit…</strong>
</p>
<p>
text-transform: uppercase
<strong
><span
>Lorem ipsum dolor sit amet, consectetur adipisicing elit…</span
></strong
>
</p>
span {
text-transform: uppercase;
}
strong {
float: right;
}
Dies demonstriert die Umwandlung des Textes in Großbuchstaben.
Beispiel mit "uppercase" (Griechische Vokale)
<p>
Initial String
<strong>Θα πάμε στο "Θεϊκό φαΐ" ή στη "Νεράιδα"</strong>
</p>
<p>
text-transform: uppercase
<strong
><span lang="el">Θα πάμε στο "Θεϊκό φαΐ" ή στη "Νεράιδα"</span></strong
>
</p>
span {
text-transform: uppercase;
}
strong {
float: right;
}
Dies demonstriert, wie griechische Vokale außer dem disjunktiven Eta keinen Akzent haben sollten, und der Akzent auf dem ersten Vokal eines Vokalpaars wird in ein Trema auf dem zweiten Vokal umgewandelt.
Beispiel mit "lowercase" (allgemein)
<p>
Initial String
<strong>Lorem ipsum dolor sit amet, consectetur adipisicing elit…</strong>
</p>
<p>
text-transform: lowercase
<strong
><span
>Lorem ipsum dolor sit amet, consectetur adipisicing elit…</span
></strong
>
</p>
span {
text-transform: lowercase;
}
strong {
float: right;
}
Dies demonstriert die Umwandlung des Textes in Kleinbuchstaben.
Beispiel mit "lowercase" (Griechisches Σ)
<p>
Initial String
<strong>Σ IS A greek LETTER that appears SEVERAL TIMES IN ΟΔΥΣΣΕΥΣ.</strong>
</p>
<p>
text-transform: lowercase
<strong
><span
>Σ IS A greek LETTER that appears SEVERAL TIMES IN ΟΔΥΣΣΕΥΣ.</span
></strong
>
</p>
span {
text-transform: lowercase;
}
strong {
float: right;
}
Dies demonstriert, wie der griechische Buchstabe Sigma (Σ
) in das reguläre kleine Sigma (σ
) oder die wortfinale Variante (ς
) umgewandelt wird, entsprechend dem Kontext.
Beispiel mit "lowercase" (Litauisch)
<p>
Initial String
<strong>Ĩ is a Lithuanian LETTER as is J́</strong>
</p>
<p>
text-transform: lowercase
<strong><span lang="lt">Ĩ is a Lithuanian LETTER as is J́</span></strong>
</p>
span {
text-transform: lowercase;
}
strong {
float: right;
}
Dies demonstriert, wie die litauischen Buchstaben Ĩ
und J́
ihren Punkt behalten, wenn sie in Kleinbuchstaben umgewandelt werden.
Beispiel mit "full-width" (allgemein)
<p>
Initial String
<strong
>0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&()*+,-./:;<=>?@{|}~</strong
>
</p>
<p>
text-transform: full-width
<strong
><span
>0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&()*+,-./:;<=>?@{|}~</span
></strong
>
</p>
span {
text-transform: full-width;
}
strong {
width: 100%;
float: right;
}
Einige Zeichen existieren in zwei Formaten: normale Breite und volle Breite, mit unterschiedlichen Unicode-Codepunkten. Die Version mit voller Breite wird verwendet, um sie nahtlos mit asiatischen ideografischen Zeichen zu mischen.
Beispiel mit "full-width" (Japanisches Halbbreit-Katakana)
<p>
Initial String
<strong>ウェブプログラミングの勉強</strong>
</p>
<p>
text-transform: full-width
<strong><span>ウェブプログラミングの勉強</span></strong>
</p>
span {
text-transform: full-width;
}
strong {
width: 100%;
float: right;
}
Das japanische Halbbreit-Katakana wurde verwendet, um Katakana in 8-Bit-Zeichenkodes darzustellen. Im Gegensatz zu regulären (vollbreiten) Katakana-Zeichen wird ein Buchstabe mit Dakuten (Stimmzeichen) als zwei Codepunkte dargestellt, der Buchstabenkörper und das Dakuten. Der full-width
kombiniert diese in einen einzelnen Codepunkt, wenn diese Zeichen in volle Breite konvertiert werden.
Beispiel mit "full-size-kana"
<p>ァィゥェ ォヵㇰヶ ㇱㇲッㇳ ㇴㇵㇶㇷ ㇸㇹㇺャ ュョㇻㇼ ㇽㇾㇿヮ</p>
<p>ァィゥェ ォヵㇰヶ ㇱㇲッㇳ ㇴㇵㇶㇷ ㇸㇹㇺャ ュョㇻㇼ ㇽㇾㇿヮ</p>
p:nth-of-type(2) {
text-transform: full-size-kana;
}
Beispiel mit "math-auto"
In diesem Beispiel verwenden wir reines HTML-Markup, um eine mathematische Formel zu erstellen:
<div>
(<span class="math-id">sin</span> <span class="math-id">x</span>)<sup
>2</sup
>
+ (<span class="math-id">cos</span> <span class="math-id">x</span>)<sup
>2</sup
>
= 1
</div>
Wir geben jedem .math-id
Element text-transform: math-auto
. Beachten Sie jedoch, dass nur die x
Zeichen kursiv werden, während sin
und cos
unverändert bleiben.
.math-id {
text-transform: math-auto;
}
Sie werden jedoch ermutigt, MathML für mathematische Formeln zu verwenden, da es eine robustere und zugänglichere Möglichkeit bietet, mathematische Inhalte darzustellen. Hier ist die gleiche Formel mit MathML:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<semantics>
<mrow>
<mo stretchy="false">(</mo>
<mo lspace="0em" rspace="0em">sin</mo>
<mspace width="0.16666666666666666em"></mspace>
<mi>x</mi>
<msup>
<mo stretchy="false">)</mo>
<mn>2</mn>
</msup>
<mo>+</mo>
<mo stretchy="false">(</mo>
<mo lspace="0em" rspace="0em">cos</mo>
<mspace width="0.16666666666666666em"></mspace>
<mi>x</mi>
<msup>
<mo stretchy="false">)</mo>
<mn>2</mn>
</msup>
<mo>=</mo>
<mn>1</mn>
</mrow>
<annotation encoding="TeX">(\sin\,x)^2+(\cos\,x)^2=1</annotation>
</semantics>
</math>
Spezifikationen
Specification |
---|
CSS Text Module Level 4 # text-transform |