#CSS - Sélecteurs#
##Les sélecteur d'attributs##
Eléments <img>
dotées d’un attribut alt
:
img[alt]
<img src="image.png" alt="Texte alternatif" />
Eléments <input>
dont l’attribut type
a exactement pour valeur “text”
:
input[type="text"]
<input type="text" id="name" />
Eléments <input>
dont les attributs type
et name
ont respectivement les valeurs text
et prenom
:
input[type="text"][name="prenom"]
<input type="text" name="prenom" />
Eléments <input>
dont l’attribut name
contient une liste de valeurs séparées par un espace, dont une est exactement “Paul”
:
input[name~="Jean"]
<input type="text" name="Pierre Jean Paul" />
Eléments <input>
dont l’attribut name
a une valeur commençant exactement par Pierre
:
input[name^="Pierre"]
<input type="text" name="Pierre Jean Paul" />
Eléments <input>
dont l’attribut name
a une valeur terminant exactement par Pierre
:
input[name$="Paul"]
<input type="text" name="Pierre Jean Paul" />
Eléments <input>
dont l’attribut name
a une valeur contenant la sous-chaîne JeanPaul
:
input[name*="JeanPaul"]
<input type="text" name="PierreJeanPaul" />
Eléments <input>
dont l’attribut name
contient une liste de valeurs séparées par un tiret et commençant par Pierre
:
input[name|="Pierre"]
<input type="text" name="Pierre-Jean-Paul" />
##Les pseudo-classes##
Cible le premier élément enfant d’un autre élément :
div > p:first-child
<div>
<p>La CSS me concerne.</p>
<p>La CSS ne me concerne pas.</p>
</div>
Cible le dernier élément enfant d’un autre élément :
div > p:last-child
<div>
<p>La CSS ne me concerne pas.</p>
<p>La CSS me concerne.</p>
</div>
Cible les 4 premiers éléments d'une liste :
li:nth-child(-n+4)
Cible les 4 derniers éléments d'une liste :
li:nth-last-child(-n+4)
Cible tous les liens de la page sauf ceux qui contiennent la chaîne "alsacreations" :
a:not([href*="alsacreations"])
##Les pseudo-éléments##
Cible la première ligne d’un paragraphe :
p::first-line
<p>Aenean rhoncus ante in ligula suscipit sit amet dignissim urna hendrerit. In euismod vehicula neque.</p>
Cible le premier caractère d’un paragraphe :
p::first-letter
<p>Aenean rhoncus ante in ligula suscipit sit amet dignissim urna hendrerit. In euismod vehicula neque.</p>
##Les combinateurs##
Sélecteurs de noeuds descendants : cible tous les éléments <em>
contenus dans l’élément <h1>
:
h1 em
<h1>Ce
<span>titre est
<em>vraiment</em>
important
</span>
</h1>
Sélecteurs de noeuds enfants : cible les éléments <a>
dont le parent direct est l’élément <div>
:
div > a
<div>
<a href="#">La CSS me concerne</a>
<ul>
<li><a href="#">La CSS ne me concerne pas</a></li>
<li><a href="#">La CSS ne me concerne pas</a></li>
</ul>
<a href="#">La CSS me concerne</a>
</div>
Sélecteurs de noeud adjacent : cible l'élement <p>
immédiatement précédé par <h1>
:
h1 + p
<h1>Titre</h1>
<p>La CSS me concerne.</p>
<p>La CSS ne me concerne pas.</p>
Sélecteurs de noeuds frères : cible tous les paragraphes <p>
qui suivent un titre <h1>
:
h1 ~ p
<h1>Fonction a</h1>
<span>function a(x) = 12x/13.5</span>
<p>Fonction a(x) :</p>
Séquence | Signification |
---|---|
* | tout élément |
E | tout élément de type E |
E[foo] | tout élément E portant l'attribut "foo" |
E[foo="bar"] | tout élément E portant l'attribut" foo" et dont la valeur de cet attribut est exactement "bar" |
E[foo~="bar"] | tout élément E dont l'attribut "foo" contient une liste de valeurs séparées par des espaces, l'une de ces valeurs étant exactement égale à "bar" |
E[foo^="bar"] | tout élément E dont la valeur de l'attribut "foo" commence exactement par la chaîne "bar" |
E[foo$="bar"] | tout élément E dont la valeur de l'attribut "foo" finit exactement par la chaîne "bar" |
E[foo*="bar"] | tout élément E dont la valeur de l'attribut "foo" contient la sous-chaîne "bar" |
E[lang|="en"] | tout élément E dont l'attribut 'lang" est une liste de valeurs séparées par des tirets et commençant (à gauche) par "en" |
E:root | un élément E, racine du document |
E:nth-child(n) | un élément E qui est le n-ième enfant de son parent |
E:nth-last-child(n) | un élément E qui est le n-ième enfant de son parent en comptant depuis le dernier enfant |
E:nth-of-type(n) | un élément E qui est le n-ième enfant de son parent et de ce type |
E:nth-last-of-type(n) | un élément E qui est le n-ième enfant de son parent et de ce type en comptant depuis le dernier enfant |
E:first-child | un élément E, premier enfant de son parent |
E:last-child | un élément E, dernier enfant de son parent |
E:first-of-type | un élément E, premier enfant de son type |
E:last-of-type | un élément E, dernier enfant de son type |
E:only-child | un élément E, seul enfant de son parent |
E:only-of-type | un élément E, seul enfant de son type |
E:empty | un élément E qui n'a aucun enfant (y compris noeuds textuels purs) |
E:link E:visited |
un élément E qui est la source d'un hyperlien dont la cible n'a pas encore été visitée (:link) ou a déjà été visitée (:visited) |
E:active E:hover E:focus |
un élément E pendant certaines actions de l'usager |
E:target | un élément E qui est la cible de l'URL d'origine contenant lui-même un fragment identifiant. |
E:lang(c) | un élément E dont le langage (humain) est c (le langage du document spécifie comment le langage humain est déterminé) |
E:enabled E:disabled |
un élément d'interface utilisateur E qui est actif ou inactif. |
E:checked E:indeterminate |
un élément d'interface utilisateur E qui est coché ou dont l'état est indéterminé (par exemple un bouton-radio ou une case à cocher) |
E:contains("foo") | un élément E dont le contenu textuel concaténé contient la sous-chaîne "foo" |
E::first-line | la première ligne formatée d'un élément E |
E::first-letter | le premier caractère formaté d'un élément E |
E::selection | la partie d'un élément E qui est actuellement sélectionnée/mise en exergue par l'usager |
E::before | le contenu généré avant un élément E |
E::after | le contenu généré après un élément E |
E.warning | Uniquement en HTML. Identique à E[class~="warning"]. |
E#myid | un élément E dont l'ID est égal à "myid". |
E:not(s) | un élément E qui n'est pas représenté par le sélecteur simple s |
E F | un élément F qui est le descendant d'un élément E |
E > F | un élément F qui est le fils d'un élément E |
E + F | un élément F immédiatement précédé par un élément E |
E ~ F | un élément F précédé par un élément E |