TD 2 - CSS3

Les couleurs en CSS

Le DOM

Combiner des sélecteurs

On peut utiliser le code CSS suivant :

            
li + li + li + li > em {
    color: red;
}

body > ul > li > em {
    color: cyan;
}
            
            

Sélecteur d'attributs

On peut utiliser la feuille de style suivant :


/* Liens internes (par déduction) */
a {
    color: green;
}

/* Adresses mail */
a[href=^"mailto"] {
    color: red;
}
                
/* Liens externes */
a[href=^"http://"],
a[href=^"https://"] {
    color: orange;
}               
            

Pseudo-classes

Pseudo-éléments

On peut utiliser la feuille de style suivant :

blockquote > p::before {
    content: "« ";
    color: cadetblue;
}
blockquote > p::after {
    content: " »";
    color: cadetblue;
}
blockquote,
blockquote p {
    background-color: aliceblue;
}

Règles de priorité

  1. Quelles sera la couleur des différents éléments de cette page ? Essayez de le trouver par vous-même avant de tester ce code pour vérifier.

    • Ma page : marron.
    • Ceci est un paragraphe : violet.
    • assez remarquable : marron.
    • Et que dire de celui-ci ? : bleu.
  2. On ne fait apparaître ici que les règles s'appliquant directement à chaque élément (et non les règles qui seraient héritées s'il n'y avait pas de règles s'appliquant directement à l'élément).

    • body :

      • règle body : (0,0,1)
      • règle * : (0,0,0)

      La règle body l'emporte donc la couleur sera rouge.

    • h1 :

      • règle * : (0,0,0)

      La règle * s'applique, la couleur sera donc marron.

    • p id="intro" class="important" :

      • règle #intro : (1,0,0)
      • règle body .important : (0,1,1)
      • règle p.important : (0,1,1)
      • règle p : (0,0,1)
      • règle * : (0,0,0)

      La règle #intro l'emporte.

    • em :

      • règle * : (0,0,0)

      La règle * est la seule à s'appliquer directement à cet élément ; la couleur sera donc marron.

    • p class="important" :

      • règle body .important : (0,1,1)
      • règle p.important : (0,1,1)
      • règle * : (0,0,0)

      Les règles p.important et body .important ont la même sélectivité, c'est donc la dernière (dans le fichier CSS) qui l'emporte ; la couleur sera donc bleue.