Syntaxe et sélecteurs
Références : MDN Sélecteurs : MDC CSS Selectors
Syntaxe
Le CSS associée des règles de représentation à des éléments sélectionnés dans le document HTML. Une règle de représentation est composée d'un ou plusieurs sélecteurs et d'une déclaration qui elle-même est composée d'une ou plusieurs propriétés et de leur valeur.
Les propriétés sont tout ce qui peut être appliqué à un élément : couleur, taille, marge, police, etc.

Exemple de structure :
selecteur1 {
propriete: valeur;
}
selecteur2,
selecteur3 {
propriete: valeur;
}
Sélecteurs
Sélecteurs simples, hiérarchie
li== sélectionne toutes les balises li du documentarticle li== sélectionne toutes les balises li qui sont des descendants (pas forcément directs) d'un articlearticle > ul== sélectionne tous les ul qui sont enfant direct d'un articlearticle > ul > li== sélectionne tous les enfants direct d'un ul descendant direct d'un articleh1 + p== sélectionne toutes les balises p qui suivent immédiatement un h1h1 ~ p== sélectionne toutes les balises p qui suivent (immédiatement ou non) un h1 et qui ont le même parent
Exemple :
li {
background-color: yellow;
}
article li {
border: 1px solid red;
}
article > ul {
background-color: blue;
}
article > ul > li {
border: 3px solid green;
}
h1 + p {
background-color: orange;
}
h1 ~ p {
border: 3px solid purple;
}

Sélecteur de classe, d'id et d'attribut
.rouge== sélectionne toutes les balises ayant la classe "rouge"h1.rouge== sélectionne toutes les balises h1 ayant la classe rouge#article-1== sélectionne toutes (=LA) balise ayant l'id article-1img[alt='Pingouin']== sélectionne toutes les balises img ayant un attribut alt égal à Pingouin
Plusieurs variantes pour le sélecteur d'attribut : MDN CSS Attribute selectors :
attr$=valeur: sélectionne les éléments dont l'attribut se termine par valeurattr^=valeur: sélectionne les éléments dont l'attribut commence par valeurattr*=valeur: sélectionne les éléments dont l'attribut contient valeurattr~=valeur: sélectionne les éléments dont l'attribut contient valeur- ...
Exemple :
.rouge {
background-color: red;
}
h1.rouge {
border: 1px solid red;
}
#article-1 {
background-color: yellow;
}
img[alt="Pingouin"] {
background-color: blue;
}

Sélecteurs de pseudo-classes et pseudo-éléments
Références : MDN CSS Pseudo-classes et MDN CSS Pseudo-elements
:hover: lorsque la souris survole l'élément:active: lorsque l'élément est cliqué:focus: lorsque l'élément a le focus:first-child: lorsque l'élément est le premier enfant de son parent:last-child: lorsque l'élément est le dernier enfant de son parent:nth-child(n): lorsque l'élément est le n-ième enfant de son parent:nth-of-type(n): lorsque l'élément est le n-ième enfant de son parent du même type:before: avant le contenu de l'élément:after: après le contenu de l'élément::first-letter: première lettre de l'élément::first-line: première ligne de l'élément::selection: sélection de l'élément- ...
Propriétés
Toutes les propriétés
Les propriétés régissent tous les aspect de la présentation d'un élément : arrière plan, bordures, polices, affichage de texte, positionnement, ...
Liste "antisèche" de 5 pages, très complète, de 2009 (il manque quelques valeurs) et Référence MDN CSS (à jour)
Quelques exemples "classiques":
font-size: en mm, px, pt, em, remfont-weight: normal, bold, 200, 300..color: #RRGGBB ou #RGB ou rgb(255,255,255) ou rgba(255,255,255,1)background-image: url('http://adresse/image')- ...
Valeurs
Les valeurs dépendent de la propriété; certaines propriétés acceptent des "mots"
préféfinis (ex: text-align: left|right|start|end|center|justify;), d'autres
acceptent des valeurs dimensionnelles (ex: font-size: 12px;), d'autres
acceptent des valeurs de type couleur (ex: color: #RRGGBB;).
Valeurs dimensionnelles
px: pixels = pixels "réels" (ex: 12px) sur l'écranpt: points = 1/72 de pouce (ex: 12pt)mm: millimètres (ex: 12mm) etcm: centimètres (ex: 12cm)em: taille de la police du parentrem: taille de la police de l'élément racine%: pourcentage de la taille de l'élément parentvh: 1% de la hauteur de la fenêtrevw: 1% de la largeur de la fenêtrevmin: 1% de la plus petite dimension de la fenêtrevmax: 1% de la plus grande dimension de la fenêtre- ...
Valeurs de couleur
Référence MDN Color value
#RRGGBB: rouge, vert, bleu (ex:#FF0000= rouge)#RGB: rouge, vert, bleu (ex:#F00= rouge)rgb(255,0,0): rouge, vert, bleu (ex:rgb(255,0,0)= rouge)rgba(255,0,0,1): rouge, vert, bleu, alpha (ex:rgba(255,0,0,1)= rouge)- couleurs nommées :
red,blue,green,yellow,black,white, ... cf [MDN]https://developer.mozilla.org/en-US/docs/Web/CSS/named-color) - ...
Valeurs calculées
Référence MDN calc()
calc(): permet de faire des calculs sur les valeurs dimensionnelles (ex:width: calc(100% - 20px);ouwidth: calc(100vh - 20px);)clamp(): permet de fixer une valeur entre deux bornes (ex:width: clamp(100px, calc(...), 500px);ouwidth: clamp(100px, calc(...), 500px);)min(): permet de prendre la valeur la plus petite (ex:width: min(100px, 50vw);)max(): permet de prendre la valeur la plus grande (ex:width: max(100px, 50vw);)
Variables CSS
Référence MDN CSS Variables
Les variables CSS permettent de définir des valeurs réutilisables dans le
document CSS. Elles sont définies avec le préfixe -- et peuvent être utilisées
avec la fonction var(). Par exemple :
:root {
--main-color: #3498db;
--secondary-color: #2ecc71;
}
h1 {
color: var(--main-color);
}
p {
color: var(--secondary-color);
}