Types
Il existe quatre types de sélecteurs :
Élément
Identifiant
Classe
Attribut
On peut ajouter le sélecteur universel ( * ) qui représente n'importe quel type (à éviter gourmand en ressource).
Définition : Element
Pour mettre en forme les balises en fonction de leur Tag (p, div, span, header, footer, section...), Il suffit de remplacer le sélecteur dans la règle par le Tag concerné.
See the Pen cours-css-types-element by BCMM-W2D (@bcmm-w2d) on CodePen.
Définition : Identifiant
Les balises HTML peuvent avoir un attribut id qui les identifie. L'identifiant est unique, c'est à dire que deux balises ne peuvent pas avoir le même id.
Pour mettre en forme les balises en fonction de leur id, il suffit de remplacer le sélecteur dans la règle par la valeur de l'identifiant précédé du symbole #.
See the Pen cours-css-types-id by BCMM-W2D (@bcmm-w2d) on CodePen.
Définition : Classe
Les balises HTML peuvent avoir un attribut class qui les identifies. Contrairement à l'identifiant, la valeur de la classe peut être identique pour plusieurs balises.
Pour mettre en forme les balises en fonction de leur classe, Il suffit de remplacer le sélecteur dans la règle par le nom de la classe précédé du symbole ".".
See the Pen cours-css-types-classe by BCMM-W2D (@bcmm-w2d) on CodePen.
Définition : Attribut
Historiquement, on pouvait distinguer les balises grâce à leur tag, id et class. Pour améliorer la précision de sélection des balises, le W3C a validé la recherche sur tous les attributs. Pour trouver les balises qui contiennent un attribut particulier, il suffit de remplacer le sélecteur dans la règle par l'attribut encadré des symboles [ ].
See the Pen cours-css-types-attribut by BCMM-W2D (@bcmm-w2d) on CodePen.
On peut préciser la valeur
See the Pen cours-css-types-attribut-2 by BCMM-W2D (@bcmm-w2d) on CodePen.
Il existe aussi :
[attr~="val"] : val est un des mots séparés par des espaces (class="toto val tata")
[attr^="val"] : commence par val (class = "valeur")
[attr|="val"] : correspond à val ou commence par val- (class="val" ou class="val-toto")
[attr$="val"] : termine par val (class = "carnaval")
[attr*="val"] : contient val (class = "avaler")
On peut combiner les attributs
[width="200"][height="200"]