:lang()
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 :lang()
CSS Pseudoklasse ermöglicht es, Elemente basierend auf der festgestellten Sprache zu selektieren.
Probieren Sie es aus
*:lang(en-US) {
outline: 2px solid deeppink;
}
<p lang="en-US">
Music during road trips and long commutes aren’t a problem, but using
headphones isn’t the best thing to do while driving in your car.
</p>
<p lang="pl-PL">
Gdy widzimy znak z narysowaną czaszką i napisem
<strong lang="en-US">DANGER</strong> to lepiej nie wchodzić do środka.
</p>
Syntax
Formale Syntax
:lang(<language-code> [,<language-code> ]*) /* ... */ }
Parameter
<language-code>
-
Eine durch Kommas getrennte Liste von einem oder mehreren
<string>
s, die ein Element mit einem Sprachwert gemäß der BCP 47-Sprachcodes ansprechen. Das Matching nach Sprachbereich ist nicht groß-/kleinschreibungssensitiv.
Beschreibung
Beim Auswählen von Sprachen gibt es ein implizites Wildcard-Matching, sodass :lang(de-DE)
sowohl de-DE
als auch de-DE-1996
, de-Latn-DE
, de-Latf-DE
und de-Latn-DE-1996
abdeckt.
Das explizite Verwenden von Wildcards muss ein vollständiges Matching eines Sprachsubtags beinhalten, daher ist :lang("*-F*")
ungültig, aber :lang("*-Fr")
ist gültig.
Beispiele
Übereinstimmung von Kindern einer bestimmten Sprache
In diesem Beispiel wird die :lang()
Pseudoklasse verwendet, um die Eltern von Quote-Elementen (<q>
) mit Kind-Kombinatoren zu selektieren. Beachten Sie, dass dies nicht die einzige Methode zur Erreichung dieses Ziels ist und die beste Methode vom Dokumenttyp abhängt. Beachten Sie auch, dass Unicode-Werte verwendet werden, um einige der speziellen Anführungszeichen zu spezifizieren.
HTML
<div lang="en">
<q>This English quote has a <q>nested</q> quote inside.</q>
</div>
<div lang="fr">
<q>This French quote has a <q>nested</q> quote inside.</q>
</div>
<div lang="de">
<q>This German quote has a <q>nested</q> quote inside.</q>
</div>
CSS
:lang(en) > q {
quotes: "\201C" "\201D" "\2018" "\2019";
}
:lang(fr) > q {
quotes: "« " " »";
}
:lang(de) > q {
quotes: "»" "«" "\2039" "\203A";
}
Ergebnis
Übereinstimmung mehrerer Sprachen
Das folgende Beispiel zeigt, wie mehrere Sprachen durch Bereitstellung einer durch Kommas getrennten Liste von Sprachcodes selektiert werden können. Es ist auch möglich, ein Wildcard zu verwenden, um Sprachen in einem bestimmten Sprachbereich zu selektieren.
CSS
/* Matches nl and de */
:lang("nl", "de") {
color: green;
}
/* Omitting quotes & case-insensitive matching */
:lang(EN, FR) {
color: blue;
}
/* Wildcard matching a language range */
:lang("*-Latn") {
color: red;
}
HTML
<p lang="nl">Dit is een Nederlandse paragraaf.</p>
<p lang="de">Dies ist ein deutscher Satz.</p>
<p lang="en">This is an English sentence.</p>
<p lang="en-GB">Matching the language range of English.</p>
<p lang="fr">Ceci est un paragraphe français.</p>
<p lang="fr-Latn-FR">Ceci est un paragraphe français en latin.</p>
Ergebnis
Spezifikationen
Specification |
---|
Selectors Level 4 # lang-pseudo |
Browser-Kompatibilität
Siehe auch
- Die
:dir
Pseudoklasse, die nach Textausrichtung selektiert - HTML
lang
-Attribut - HTML
translate
-Attribut - RFC 5646: Tags for Identifying Languages (auch bekannt als BCP 47)