aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/css/selector_list/index.md
blob: 3da51d89cdc8087d1cb8a95083e1809f92de0815 (plain)
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
---
title: Liste de sélecteurs
slug: Web/CSS/Selector_list
tags:
  - CSS
  - Sélecteur
translation_of: Web/CSS/Selector_list
---
{{CSSRef}}

**Une liste de sélecteurs** (`,`) permet de cibler tous les nœuds correspondants à l'une des conditions.

```css
/* Cible tous les éléments correspondants */
span,
div {
  border: red 2px solid;
}
```

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.

## Syntaxe

    element, element, element { propriétés de style }

## Exemples

### Groupement sur une seule ligne

On peut grouper les sélecteurs sur une seule ligne :

```css
h1, h2, h3, h4, h5, h6 { font-family: helvetica; }
```

### Groupement sur plusieurs lignes

On peut grouper les sélecteurs sur plusieurs lignes :

```css
#main,
.content,
article {
  font-size: 1.1em;
}
```

### Invalidation d'une liste de sélecteurs

Un inconvénient des listes de sélecteurs est la non-équivalence des deux blocs suivants :

```css
h1 { font-family: sans-serif }
h2:maybe-unsupported { font-family: sans-serif }
h3 { font-family: sans-serif }
```

```css
h1, h2:maybe-unsupported, h3 { font-family: sans-serif }
```

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.

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é.

```css
h1 { font-family: sans-serif }
h2:maybe-unsupported { font-family: sans-serif }
h3 { font-family: sans-serif }
```

```css
:is(h1, h2:maybe-unsupported, h3) { font-family: sans-serif }
```

## Spécifications

| Spécification                                                                    | État                                 | Commentaires                        |
| -------------------------------------------------------------------------------- | ------------------------------------ | ----------------------------------- |
| {{SpecName("CSS4 Selectors", "#grouping", "Selector Lists")}} | {{Spec2("CSS4 Selectors")}} | Renommage en « liste de sélecteur » |
| {{SpecName('CSS1', '#grouping', 'grouping')}}                     | {{Spec2('CSS1')}}             | Définition initiale.                |

## Compatibilité des navigateurs

{{Compat("css.selectors.list")}}

## Voir aussi

- 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.