Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
:lang()
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
La fonction de pseudo-classe CSS :lang() permet de définir la mise en forme d'un élément selon la langue dans laquelle il est écrit.
Exemple interactif
*:lang(fr-FR) {
outline: 2px solid deeppink;
}
<p lang="fr-FR">
La musique pendant les trajets en voiture et les longs trajets ne pose pas de
problème, mais utiliser des écouteurs n'est pas la meilleure chose à faire en
conduisant.
</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>
Syntaxe
:lang(<language-code> [,<language-code> ]*) {
/* ... */
}
Paramètre
<language-code>-
La chaîne de caractères (
<string>) qui définit la langue des éléments qu'on veut sélectionner.
Description
Quand on sélectionne des langues, il y a une correspondance implicite par wildcard, donc :lang(de-DE) correspondra à de-DE, de-DE-1996, de-Latn-DE, de-Latf-DE, et de-Latn-DE-1996.
L'utilisation explicite de wildcards doit inclure une correspondance complète d'un sous-tag de langue, donc :lang("*-F*") est invalide mais :lang("*-FR") est valide.
Exemples
>Correspondance des enfants d'une langue donnée
Dans cet exemple, la pseudo-classe :lang est utilisée pour faire correspondre le parent d'une citation en utilisant :first-child. Il ne s'agit pas de la seule solution pour ce type de problème, ni même de la meilleure (qui dépendra du type de document). Les valeurs Unicode sont utilisées pour certains caractères spéciaux de citation.
HTML
<div lang="fr">
<q>
Cette citation française a
<q>une citation</q>
imbriquée.
</q>
</div>
<div lang="de">
<q>
Cette citation allemande a
<q>une citation</q>
imbriquée.
</q>
</div>
<div lang="en">
<q>
Cette citation anglaise a
<q>une citation</q>
imbriquée.
</q>
</div>
CSS
:lang(en) > q {
quotes: "201円C" "201円D" "2018円" "2019円";
}
:lang(fr) > q {
quotes: "« " " »";
}
:lang(de) > q {
quotes: "»" "«" "2039円" "203円A";
}
Résultat
Correspondance de plusieurs langues
L'exemple suivant montre comment faire correspondre plusieurs langues en fournissant une liste de codes de langue séparés par des virgules. Il est également possible d'utiliser un caractère générique pour faire correspondre les langues dans une plage de langues donnée.
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>
p {
margin: 0;
}
CSS
/* Correspond à nl et de */
:lang("nl", "de") {
color: green;
}
/* Omet les guillemets & correspondance insensible à la casse */
:lang(EN, FR) {
color: blue;
}
/* Correspondance générique d'une plage de langues */
:lang("*-Latn") {
color: red;
}
Result
Spécifications
| Specification |
|---|
| Selectors Level 4> # lang-pseudo> |
Compatibilité des navigateurs
Chargement...
Voir aussi
- La pseudo-classe
:dircorrespondant à la direction du texte - L'attribut HTML
lang - L'attribut HTML
translate - Le référenciel RFC 5646: Balises pour l'identification des langues (également connues sous le nom de BCP 47)