La pseudo-classe :lang permet de définir la mise en forme d'un élément selon la langue dans laquelle il est écrit (en HTML, elle est déterminée par l'attribut lang, l'élément <meta> et d'autres informations comme les en-têtes HTTP ; pour les autres types de documents, d'autres méthodes peuvent être utilisées).

Les chaînes de caractères admissibles pour définir des langues sont définies dans la spécification HTML 4.0.

Syntaxe

:lang( <language-code> ) { style properties }

Exemples

Dans cet exemple, le sélecteur lang est utilisé 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.

CSS

:lang(fr) > Q {
  quotes: '« ' ' »';
}

:lang(de) > Q {
  quotes: '»' '«' '\2039' '\203A';
}

:lang(en) > Q {
  quotes: '\201C' '\201D' '\2018' '\2019';
}

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>

Résultat

Spécifications

Spécification État Commentaires
Selectors Level 4
La définition de ':lang()' dans cette spécification.
Version de travail Aucune modification.
Selectors Level 3
La définition de ':lang()' dans cette spécification.
Recommendation Aucune modification significative.
CSS Level 2 (Revision 1)
La définition de ':lang()' dans cette spécification.
Recommendation Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple 1.0 1.0 (1.7 ou moins) 8.0 8.0 3.1
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple 1.0 1.0 (1) 8.0 8.0 3.1

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight, tregagnon, teoli, louuis, FredB, the prisoner
 Dernière mise à jour par : SphinxKnight,