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
|
---
title: Liste de sélecteurs
slug: Web/CSS/Selector_list
tags:
- CSS
- Sélecteur
translation_of: Web/CSS/Selector_list
---
<div>{{CSSRef}}</div>
<p><strong> Une liste de sélecteurs</strong> (<code>,</code>) permet de cibler tous les nœuds correspondants à l'une des conditions.</p>
<pre class="brush: css no-line-numbers">/* Cible tous les éléments correspondants */
span,
div {
border: red 2px solid;
}</pre>
<p>Afin de réduire la taille d'une feuille de style, on peut grouper les sélecteurs dans une liste séparée par des virgules.</p>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="syntaxbox">element, element, element { <em>propriétés de style</em> }</pre>
<h2 id="Exemples">Exemples</h2>
<h3 id="Groupement_sur_une_seule_ligne">Groupement sur une seule ligne</h3>
<p>On peut grouper les sélecteurs sur une seule ligne :</p>
<pre class="brush: css">h1, h2, h3, h4, h5, h6 { font-family: helvetica; }
</pre>
<h3 id="Groupement_sur_plusieurs_lignes">Groupement sur plusieurs lignes</h3>
<p>On peut grouper les sélecteurs sur plusieurs lignes :</p>
<pre class="brush: css">#main,
.content,
article {
font-size: 1.1em;
}
</pre>
<h3 id="Invalidation_dune_liste_de_sélecteurs">Invalidation d'une liste de sélecteurs</h3>
<p>Un inconvénient des listes de sélecteurs est la non-équivalence des deux blocs suivants :</p>
<pre class="brush: css">h1 { font-family: sans-serif }
h2:maybe-unsupported { font-family: sans-serif }
h3 { font-family: sans-serif }</pre>
<pre class="brush: css">h1, h2:maybe-unsupported, h3 { font-family: sans-serif }</pre>
<p>En effet, un seul sélecteur vous manque et tout est dépeuplé. Enfin, un seul sélecteur invalide rend l'ensemble de la règle invalide.</p>
<p>Pour éviter cet effet indésirable, on pourra utiliser le sélecteur {{CSSxRef(":is", ":is()")}} qui ignore les sélecteurs invalides parmi ses arguments. Par contre, tous les sélecteurs passés en arguments auront la même spécificité.</p>
<pre class="brush: css">h1 { font-family: sans-serif }
h2:maybe-unsupported { font-family: sans-serif }
h3 { font-family: sans-serif }</pre>
<pre class="brush: css">:is(h1, h2:maybe-unsupported, h3) { font-family: sans-serif }</pre>
<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", "#grouping", "Selector Lists")}}</td>
<td>{{Spec2("CSS4 Selectors")}}</td>
<td>Renommage en « liste de sélecteur »</td>
</tr>
<tr>
<td>{{SpecName('CSS1', '#grouping', 'grouping')}}</td>
<td>{{Spec2('CSS1')}}</td>
<td>Définition initiale.</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
<p>{{Compat("css.selectors.list")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li>Les pseudo-classes {{CSSxRef(":is", ":is()")}} {{Experimental_Inline}} et {{CSSxRef(":where", ":where()")}} {{Experimental_Inline}} qui n'ont pas ce problème historique d'invalidation des listes de sélecteurs.</li>
</ul>
|