Skip to content

Instantly share code, notes, and snippets.

@aliciasebastien
Last active August 29, 2015 14:01
Show Gist options
  • Save aliciasebastien/5d5ebcd4b94398d96172 to your computer and use it in GitHub Desktop.
Save aliciasebastien/5d5ebcd4b94398d96172 to your computer and use it in GitHub Desktop.
CSS - Sélecteurs

#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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment