Les selecteurs en CSS permettent « d'attraper » des éléments déclarés dans le fichier Html.
Nous pouvons en lister 3 principaux :
Div permet de créer un emplacement dans un site web.Div permet de créer un emplacement dans un site web.
div{ color: green; }
<div> Zone n°1 </div> <div> Zone n°2 </div>Et le fichier Css :
div{ color: green; }
<div class="mazoneperso"> Zone n°1 </div> <div> Zone n°2 </div>Dans ce fichier Html, une des deux zones (div) possède un nom permettant de la représenter.
.mazoneperso{ color: green; }Dans ce fichier CSS, je ne selectionne pas toutes les zones (div) mais seulement celles qui possèdent le nom "mazoneperso".
<div id="zoneprincipale"> Zone n°1 </div> <div> Zone n°2 </div>Dans ce fichier Html, la première des deux zones (div) possède un nom permettant de l'identifier.
#zoneprincipale{ color: green; }
<!Doctype html> <html> <head> <meta charset="utf-8"> <title>Mon Titre</title> </head> <body> <div class="test"></div> <div class="test"></div> <!-- je peux ré-utiliser la classe test une deuxième fois --> <div id="test2"></div> </body> </html>
<p> Texte n°1 </p> <p> Texte n°2 </p> <p> Texte n°3 </p>Et, le fichier Css :
p{ color: red; } p:first-child { color: green; } p:last-child { color: blue; }
Texte n°1
Texte n°2
Texte n°3
<div class="mazoneperso"> Zone n°1 </div> <div> Zone n°2 </div> <span class="mazoneperso"> Zone n°3 </span>Dans ce cas, nous adapterons le fichier CSS, exemple :
div.mazoneperso{ color: green; }Cela veut dire « va me chercher la div qui possède la classe mazoneperso », ce qui éliminera le span (puisque ce n'est pas une div !).
<section> <article>Article 1</article> <p>Texte 1</p> <div>Zone 1</div> </section> <div> Zone n°2 </div> <div> Zone n°3 </div>Exemple Css :
section div{ color: red; }
<header> Haut de site </header> <section> Milieu de site </section> <footer> Bas de site </footer>
header, footer{ color : purple; }
<div class="mazone">Voici le <span class="montexte">texte</span> de ma Zone</div>Exemple Css :
.mazone{ color : red; } .montexte{ color : blue; }
<div class="Maclasse">Voici une zone avec Maclasse</div>Exemple Css :
.maclasse{ color : red; }
Liste des selecteurs CSS :
Selecteurs Généraux | |||
---|---|---|---|
Selecteur | Exemple CSS | Exemple HTML | Description |
balise | div{} | <div> mazone1 </div> <div> mazone2 </div> |
Selectionne toutes les balises <div> |
.class | .mazone{} | <div class="mazone"> mazone1 </div> <div> mazone2 </div> |
Selectionne tous les élements possédant la class="mazone". |
#id | #zoneprincipale{} | <div id="zoneprincipale"> mazoneprincipale1 </div> <div> mazone2 </div> |
Selectionne l'élément possédant l'id="zoneprincipale" |
* | *{} | <header> haut de site </header> <div> zone </div> |
Selectionne tous les éléments de la page |
balise balise balise > balise |
div p{} div > p{} |
<div> <p> mon texte </p> </div> |
L'espace permet de selectionner toutes les balises <p> à l'intérieur des balises <div> Ce chevron permet de selectionner toutes les balises p ayant comme parent la balise div. |
balise, balise | div, p{} | <div> mazone </div> <p> mon texte </p> |
La virgule permet de selectionner toutes les balises <div> et toutes les balises <p> |
balise + balise | div + p{} | <div> mazone </div> <p> mon texte </p> |
Le + permet de selectionner toutes les balises <p> placées immédiatement après une balise <div> (sans autres éléments entre les deux) |
balise ~ balise | div ~ p{} | <div> mazone </div> <p> mon texte </p> |
Selectionne les balises <p> précédées par une balise <div> |
balise.class | span.mazone{} | <span class="mazone"> mazone1 </span> | Selectionne tous les élements span possédant la class="mazone". |
Selecteurs d'attributs | |||
---|---|---|---|
Selecteur | Exemple CSS | Exemple HTML | Description |
[attribut] | [title]{} | <a href="" title="le titre"> Le lien </a> | Selectionne tous les éléments ayant l'attribut title |
[attribut=valeur] | [type="text"]{} | <input type="text" name="monchamp"> | Selectionne tous les éléments ayant l'attribut type="text" |
[attribut$=valeur] | img[src$=".png"]{} | <img src="image.png"> | Selectionne toutes les balises <a> ayant la terminaison ".png" |
[attribut^=valeur] | a[href^="http"]{} | <a href="http://www.google.com">google</a> | Selectionne toutes les balises <a> commençant par "http" |
[attribut~=valeur] | [title~=Paris]{} | <img src="Tour Eiffel de Paris 75"> | Selectionne tous les éléments ayant dans leur titre "Paris". (Attention, à vérifier). |
Selecteurs Complémentaires - pseudo éléments | |||
---|---|---|---|
Selecteur | Exemple CSS | Exemple HTML | Description |
:hover | a:hover{} | <a href="">Mon Lien</a> | Selectionne les liens lors du survol pour leur appliquer un style spécifique |
:active | a:active{} | <a href="">Mon Lien</a> | Selectionne les liens actifs |
:link | a:link{} | <a href="">Mon Lien</a> | Selectionne tous les liens qui n'ont pas été visités |
:visited | a:visited{} | <a href="">Mon Lien</a> | Permet d'appliquer une mise en forme sur les liens ayant déjà été visités. |
:not(selecteur) | div:not(.mazone2){} | <div class="mazone1">Ma zone perso 1</div> <div class="mazone2">Ma zone perso 2 </div> <div class="mazone3">Ma zone perso 3 </div> |
Selectionne toutes les zones div autres que la zone div.mazone2{} |
:first-child | p:first-child{} | <p>Mon premier paragraphe</p> <p>Mon second paragraphe</p> | Selectionne la première balise <p> du corps de la page (body) ou les premieres balises p à l'intérieur d'une autre balise parent |
:last-child | p:last-child{} | <p>Mon paragraphe</p> <p>Mon dernier paragraphe</p> | Selectionne la dernière balise <p> du corps de la page (body) ou les dernières balises p à l'intérieur d'une autre balise parent |
:nth-child(n) | p:nth-child(2){} | <p>Texte n°1</p> <p>Texte n°2</p> |
Selectionne toutes les balises <p> étant positionnées en 2e élément dans son parent ou dans le corps de page général (body) |
:first-letter | p:first-letter{} | <p>Ce texte comporte une première lettre</p> | Selectionne la 1ère lettre du texte contenue dans tous les éléments <p> |
:first-line | p:first-line{} | <p>Ce texte comporte plusieurs lignes</p> | Selectionne chaque 1ère ligne de chaque balise <p> |
:after | h1:after{} | <h1>Mon Titre</h1> | Permet d'insérer du contenu après un élément <p> |
:before | h1:before{} | <h1>Mon Titre</h1> | Permet d'insérer du contenu avant un élément <p> |
::selection | ::selection{} | - | permet de mettre en forme la partie du site selectionné et mis en surbrillance par l'internaute (comme lors d'un copier/coller) |
:target | #zone1:target{} | <a href="#zone1">Mon Lien</a> | Permet d'appliquer un style sur l'élément actif présent dans l'url (#zone1) suite à un clic de l'internaute |
:required | input:required{} | <input type="text" required="required"> | Permet de mettre en forme sur les balises input ayant l'attribut "required". |
HTML CSS
1. Introduction Html Css 2. Structure D'une Page Html 3. Structure D'un Fichier Css 4. Les Polices D'ecriture 5. Les Selecteurs 6. Firebug 7. Styles Css 8. L'heritage 9. Les Images 10. Les Positionnements 11. Le Zoning 12. Les Tableaux 13. Les Listes 14. Les Liens Et Ancres 15. Menu De Navigation 16. Les Formulaires 17. Donnees Multimedia 18. Balises Html Et Proprietes Css 19. Cas Pratique 20. Creation D'un Site Web