:lang() CSS-Pseudoklasse
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Die :lang() CSS-Pseudoklasse selektiert Elemente basierend auf der Sprache, die ihnen zugewiesen ist.
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
:lang(<language-code> [,<language-code> ]*) {
/* ... */
}
Parameter
<language-code>-
Eine durch Kommas getrennte Liste von einem oder mehreren
<string>s, die Elemente basierend auf den in ihrenlang-Attributen gesetzten BCP 47-Sprachtags anvisiert. Die Übereinstimmung mit dem Sprachbereich ist nicht case-sensitiv.
Beschreibung
Bei der Auswahl von Sprachen gibt es ein implizites Wildcard-Matching, sodass :lang(de-DE) mit de-DE, de-DE-1996, de-Latn-DE, de-Latf-DE und de-Latn-DE-1996 übereinstimmt.
Beim expliziten Einsatz von Wildcards muss ein voller Match eines Sprachsubtags enthalten sein, sodass :lang("*-F*") ungültig, aber :lang("*-Fr") gültig ist.
Beispiele
>Übereinstimmung von Kindern mit einer bestimmten Sprache
In diesem Beispiel wird die :lang()-Pseudoklasse verwendet, um die Eltern von Blockzitaten (<q>) mithilfe von Kind-Kombinatoren zu selektieren. Beachten Sie, dass dies nicht die einzige Methode für dieses Vorgehen darstellt und dass die beste Methode vom Dokumenttyp abhängt. Beachten Sie auch, dass Unicode-Werte verwendet werden, um einige der speziellen Anführungszeichen anzugeben.
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 man mehrere Sprachen durch Angabe einer durch Kommas getrennten Liste von Sprachcodes anvisiert. Es ist auch möglich, ein Wildcard zu verwenden, um Sprachen innerhalb eines bestimmten Sprachbereichs zu matchen.
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
| Spezifikation |
|---|
| Selectors Level 4> # lang-pseudo> |
Browser-Kompatibilität
Siehe auch
- Die
:dir-Pseudoklasse, die durch Textflussrichtung selektiert - HTML-Attribute
lang - HTML-Attribute
translate - BCP 47-Sprachtag