Académique Documents
Professionnel Documents
Culture Documents
CSS avancés
1
Le sélecteur CSS universel « * »
Le sélecteur « * » (étoile) permet de sélectionner tous les
éléments HTML d’une page; c’est pourquoi il est appelé
sélecteur CSS universel.
Exemple:
*{
Padding: 10px;
Margin:10px;
}
2
Arbre des éléments HTML
La notion d'arbre (avec des ancêtres et des descendants)
est très utilisée dans les sélecteurs CSS.
Exemple
p:first-child
{ Color:orange;
}
p:last-child
{ Color:green;
}
5
La pseudo classe :nth-child()
La pseudo classe CSS :nth-child() permet de cibler certains enfants
d'un élément HTML.
On indique entre les parenthèses de cette pseudo classe soit un
nombre, soit un mot clé (even , odd),
2n ,2n+1.. CSS:
/*tous les <p> qui sont des
Exemple:
enfants pairs(2eme enfant ,
<body>
4eme enfant,..) d'un élément
<h1>Titre de niveau 1</h1>
HTML dans la page*/
<h2>Titre de niveau 2</h2>
<p>Un premier paragraphe</p>
p:nth-child(even)
<p>Un deuxième paragraphe</p>
{color: red;}
<div>
<h2>Un autre titre de niveau 2</h2>
/*tous les <h2> qui sont le
<p>Un troisième paragraphe</p>
2eme enfant d'un élément
<p>Un quatrième paragraphe</p>
parent*/
</div>
h2:nth-child(2){
</body>
color: green;} 6
Titre de niveau 2 en vert
Paragraphe en rouge
7
Les pseudo éléments
Les pseudo éléments CSS permettent de modifier l’apparence
d’une partie d’un ou de plusieurs éléments HTML, ou d’ajouter
du contenu au début ou à la fin d'un certain élément HTML.
Les pseudo éléments sont reconnaissables en CSS 3 à leur
écriture , ils commencent par « :: » (un double deux-points).
Voici les principales pseudo-éléments utilisés en css:
▪ ::first-letter permet de ne sélectionner que la première lettre
d’un texte contenu dans un élément ;
▪ ::first-line permet de ne sélectionner que la première ligne d’un
texte contenu dans un élément ;
▪ ::selection permet de sélectionner la partie d’un élément
sélectionnée (par un double clic) par l’utilisateur ;
▪ ::before permet d’insérer du contenu au début d'un élément
HTML ;
▪ ::after permet d’insérer du contenu à la fin d'un élément HTML.
8
Le pseudo élément CSS ::first-letter
Le pseudo élément CSS ::first-letter permet de modifier
l’apparence de la première lettre du texte d’un élément.
On peut par exemple agrandir et changer la couleur de la
première lettre de tous nos paragraphes :
Html
CSS
<body>
<h1>Pseudo éléments CSS</h1> p::first-letter
<div> {
<p>Un premier paragraphe</p> font-size: 32px;
<p>Ceci est un deuxième paragraphe</p> font-weight:bold;
<p>Et voilà un troisième paragraphe</p> color: magenta;
</div> }
<p>Un paragraphe hors div</p>
</body>
9
Affichage
Remarque
▪ Le pseudo élément ::first-letter ne peut être appliqué qu’à des
éléments HTML de type block.
▪ ::first-letter ne supporte pas toutes les propriétés CSS mais
peut être utilisé avec les suivantes (liste non exhaustive) :
les propriétés liées à la police (font) ,celles liées à la couleur ,
celles liées au fond (background) ,border, margin, padding ,
text-decoration , text-transform ,vertical-align, line-height, float
et clear. 10
Le pseudo élément CSS ::first-line
Html CSS
<body> p::first-line{
<h1>Pseudo éléments CSS</h1> font-size: 30px;
<div> color: blue;
<p>Un premier paragraphe qui contient }
beaucoup de texte afin que celui-ci occupe
plusieurs lignes au sein de notre page web</p>
<p>On<br>peut<br>aussi<br>ajouter des
break...</p>
</div>
<p>Un paragraphe hors div</p>
</body> 11
Affichage
Remarque
▪ Le pseudo élément ::first-line ne peut être appliqué qu’à des
éléments HTML de type block.
▪ ::first-line ne supporte pas toutes les propriétés CSS mais
peut être utilisé avec les suivantes (liste non exhaustive) :
les propriétés liées à la police (font) ,celles liées à la couleur ,
celles liées au fond (background), border, letter-spacing ,
word-spacing, text-decoration, text-transform, vertical-align,
line-height et clear. 12
Le pseudo élément CSS ::selection
Le pseudo élément CSS ::selection permet de cibler et de
mettre en forme la partie d’un élément actuellement
sélectionnée (double cliquée ou sélectionnée directement avec le
pointeur de la souris) par un utilisateur.
Ce pseudo élément supporte les propriétés color et background
ainsi que text-decoration, cursor et outline.
Html CSS
p::selection{
<body>
background-color:
<h1>Pseudo éléments CSS</h1>
orange;
<div>
}
<p>Un premier paragraphe </p>
Pour mozzila:
<p>Un autre paragraphe</p>
p::-moz-selection
</div>
<p>Un paragraphe hors div</p>
</body> 13
Affichage
14
Les pseudos élément ::before et ::after
15
Affichage
16
Les Combinateurs
Combinateur de descendance
Les combinateurs de descendance expriment une relation de
type héritage.
• Un sélecteur de la forme "A B" représente un élément B qui
est un descendant quelconque d'un élément ancêtre A.
Exemple :
17
Exemple 2
20
CSS
Exemple:
div * p
représente un élément p qui est le petit-fils ou un
descendant ultérieur d'un élément div.
22
Combinateur filial
23
Combinateurs d'adjacence directe
Les combinateurs d'adjacence directe sont composés du caractère
"+" séparant deux séquences de sélecteurs simples. Il permet de
sélectionner tous les éléments B de même niveau et suivant
immédiatement les éléments A.
Exemples :
• div + p
24
Combinateurs d'adjacence indirecte
Ce combinateur cible un élément B précédé par un élément A.
Contrairement au combinateur adjacent où seul le premier frère
est ciblé, ici, tous les frères sont concernés.
A~B
{
…
}
Exemple :
p ~ span { color: red; }
<span>Ici, ce n'est pas
rouge.</span>
Ici, ce n'est pas rouge.
<p>Voici un paragraphe.</p>
Voici un paragraphe.
<code>Un peu de code.</code>
Un peu de code. Et un autre span. Encore du code c'est rouge
<span>Et un autre span.</span>
<code>Encore du code</code>
<span>c'est rouge </span>
25
sélecteurs avec des attributs
Le CSS permet de sélectionner un élément HTML selon le fait
qu’il possède ou non un attribut et selon la valeur de l’attribut.
• Le sélecteur « A[attribut] »: permet de sélectionner tous
les éléments A possédant un attribut en particulier.
• Le sélecteur CSS « A[attribut="valeur"] » va sélectionner
tous les éléments A possédant un attribut en particulier
avec une valeur précise.
• Le sélecteur CSS « A[attribut^="valeur"] » va sélectionner
tous les éléments A possédant un attribut qui commence
par une valeur précise.
• Le sélecteur CSS « A[attribut$="valeur"] » va sélectionner
tous les éléments A possédant un attribut qui finit par une
valeur précise.
• Le sélecteur CSS « A[attribut*="valeur"] » va sélectionner
tous les éléments A possédant un attribut qui contient une
26
valeur précise.
Pour Résumer
Sélecteur universel (sélectionne tous les éléments) : *
Appliquer un style aux élément A et B :
A, B { propriété: valeur; }
Sélectionner un élément B contenu dans A (tous les descendants):
A B { propriété: valeur; }
• Sélectionner les éléments B fils d’un élément A :
A > B { propriété: valeur; }
• Sélectionner le premier élément B suivant un élément A :
A + B { propriété: valeur; }
• cible un élément B précédé par un élément A
A ~ B{ propriété: valeur; }
28
La priorité des sélecteurs CSS est la suivante (du plus
important au moins important) :
29
exemple
CSS
#content{ color : red;
text-align : center;}
.alert{ color : green; }
30
Remarque: !important
31