1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
---
title: ':lang'
slug: 'Web/CSS/:lang'
tags:
- CSS
- Pseudo-classe
- Reference
translation_of: 'Web/CSS/:lang'
---
<div>{{CSSRef}}</div>
<p>La <a href="/fr/docs/Web/CSS/Pseudo-classes">pseudo-classe</a> <code><strong>:lang</strong></code> permet de définir la mise en forme d'un élément selon la langue dans laquelle il est écrit.</p>
<pre class="brush: css no-line-numbers">/* Correspond aux paragraphes, uniquement si ceux-ci */
/* sont indiqués comme étant en anglais (en) */
p:lang(en) {
quotes: '\201C' '\201D' '\2018' '\2019';
}</pre>
<div class="note">
<p><strong>Note :</strong> En HTML, la langue d'un élément est déterminée par l'attribut {{htmlattrxref("lang")}}, l'élément {{HTMLElement("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.</p>
<p>Les chaînes de caractères admissibles pour définir des langues sont définies dans la spécification HTML 4.0.</p>
</div>
<h2 id="Syntaxe">Syntaxe</h2>
<h3 id="Syntaxe_formelle">Syntaxe formelle</h3>
{{csssyntax}}
<h3 id="Paramètre">Paramètre</h3>
<dl>
<dt><code>language-code</code></dt>
<dd>La chaîne de caractères ({{cssxref("<string>")}}) qui définit la langue des éléments qu'on veut sélectionner.</dd>
</dl>
<h2 id="Exemples">Exemples</h2>
<p>Dans cet exemple, la pseudo-classe <code>:lang</code> est utilisée pour faire correspondre le parent d'une citation en utilisant {{cssxref(":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.</p>
<h3 id="CSS">CSS</h3>
<pre class="brush: css">:lang(fr) > Q {
quotes: '« ' ' »';
}
:lang(de) > Q {
quotes: '»' '«' '\2039' '\203A';
}
:lang(en) > Q {
quotes: '\201C' '\201D' '\2018' '\2019';
}
</pre>
<h3 id="HTML">HTML</h3>
<pre class="brush: 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>
</pre>
<h3 id="Résultat">Résultat</h3>
<p>{{EmbedLiveSample('Exemple', '350')}}</p>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Spécification</th>
<th scope="col">État</th>
<th scope="col">Commentaires</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('CSS4 Selectors', '#lang-pseudo', ':lang()')}}</td>
<td>{{Spec2('CSS4 Selectors')}}</td>
<td>Ajout du <em>joker</em> pour correspondre à toutes les langues. Ajout des listes de langues séparées par des virgules.</td>
</tr>
<tr>
<td>{{SpecName('CSS3 Selectors', '#lang-pseudo', ':lang()')}}</td>
<td>{{Spec2('CSS3 Selectors')}}</td>
<td>Aucune modification significative.</td>
</tr>
<tr>
<td>{{SpecName('CSS2.1', 'selector.html#lang', ':lang()')}}</td>
<td>{{Spec2('CSS2.1')}}</td>
<td>Définition initiale.</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<p>{{Compat("css.selectors.lang")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li>{{cssxref(":dir")}}</li>
<li>L'attribut HTML {{htmlattrxref("lang")}}</li>
<li><a href="/fr/docs/Web/API/HTMLElement/lang">Propriété <code>lang</code> du DOM</a></li>
<li><a href="https://www.w3.org/TR/REC-html40/struct/dirlang.html#h-8.1.1">Les codes de langues selon W3C HTML4 (en anglais)</a></li>
<li><a href="https://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-59132807">L'attribut <code>lang</code> selon W3C DOM Level 2 HTML (en anglais)</a></li>
<li><a href="https://tools.ietf.org/html/bcp47">Les codes de langues BCP 47</a></li>
</ul>
|