Les bases du CSS
(Cascading Style Sheet)
Les bases du CSS (Cascading Style Sheet)
Mise en place
Les CSS ont vu le jour en 1996. Elles ont été constamment remaniées, aujourd'hui on est invité à utiliser les CSS3.
Il existe trois méthodes pour appliquer des CSS à une page web :
- Dans le corps du code HTML :
<div style="color:blue;">…</div>
- Dans l'entête de la page ou n'importe où dans la page:
Ce style sera appliqué à toutes les div contenues dans le document.<head> <style> div{ color:blue; } </style> </head>
- En utilisant un fichier dédié relié à la page, il s'agit de la méthode la plus répandue et fortement recomandée:
<link rel="stylesheet" href="css/style.css">
Le fichier CSS
Le fichier CSS se compose d'un ensemble de règles qui seront appliquées aux balises du fichier HTML :
- Dans le fichier nous avons une succession de règles :
div{ color:blue; } p { color:blue; }
- Dans le fichier HTML, on précise où est placé le fichier CSS :
<head> <link rel="stylesheet" href="css/style.css"> </head>
Méthodes d'utilisation des CSS
Règle :selecteur {propriété1 : valeur;
propriété2 : valeur;
...
}
Les classes class
et les identifiants id
permettent d’identifier les balises sur lesquelles on souhaite agir.
Les classes ont des identificateurs qui peuvent être utilisés sur plusieurs balises d’une même page alors que les id (identifiant) définissent une balise unique au sein d’une page (elles sont principalement utilisées pour le traitement d’une page par le langage JavaScript).
L’id est prioritaire sur la classe quelque soit l’ordre.
Les class
- Dans le fichier HTML on crée la classe :
<balise class="mon-style">…</balise>
- Dans le fichier CSS, on définit une classe en mettant un « . » devant le sélecteur. Ex :
.mon-style {propriété1 : valeur; propriété2 : valeur; ... }
- En cas de classes multiples, on les sépare par des espaces. En cas de redéfinition de style, c’est celui qui est le plus proche de la donnée qui sera appliqué.
Les id
- Dans le fichier HTML on crée l'identifiant :
<balise id="mon-style">…</balise>
- Dans le fichier CSS, on définit une classe en mettant un « # » devant le sélecteur. Ex :
#mon-style {propriété1 : valeur; propriété2 : valeur; ... }
Les sélecteurs avancés
balise1 balise2: sélecteur universel, permet de sélectionner toutes les balises balise1 "espace" balise2 : Une balise contenue dans une autre.
Exemple :
p a {propriété1 : valeur;
propriété2 : valeur;
...
}
/* toutes balises de lien contenues dans un paragraphe */
balise1,balise2 : sélectionne toutes les balises.
Exemple :
article,section {propriété1 : valeur;
propriété2 : valeur;
...
}
/* toutes balises article et section */
balise1 + balise2 : un enchainement de balises, sélectionne la balise2 situé juste après la balise1.
Exemple :
article+section {propriété1 : valeur;
propriété2 : valeur;
...
}
/* toutes balises section situées juste après une balise article */
Pour plus d'infos
Les médias queries
Les médias queries permettent d’appliquer une feuille de style en fonction du support matériel qui l’affiche. On parle souvent de site web responsive design dans ce contexte.
Pour plus d'infos
Les FlexBox
Les FlexBox permettent d’organiser les blocs de contenu au sein d’une page.
Les anciennes méthodes utilisaient :
- Les tableaux ;
- La propriété float ;
- La propriété inline-block.
Les deux dernières citées sont encore couramment utilisées pour la structuration visuelle d’une page Web.
Renvez vous sur le iste Mozilla pour bien comprendre le système flexbox qu'il faut savoir utiliser.
Liste des principales propriétées CSS
Propriété | Valeurs (exemples) | Description |
---|---|---|
| police1, police2, police3, serif, sans-serif, monospace | Nom de police |
| Nom et source de la police | Police personnalisée |
| 1.3em, 16px, 120%... | Taille du texte |
| bold, normal | Gras |
| italic, oblique, normal | Italique |
| underline, overline, line-through, blink, none | Soulignement, ligne au-dessus, barré ou clignotant |
| small-caps, normal | Petites capitales |
| capitalize, lowercase, uppercase | Capitales |
| - | Super propriété de police. Combine : |
| left, center, right, justify | Alignement horizontal |
| baseline, middle, sub, super, top, bottom | Alignement vertical (cellules de tableau ou éléments |
| 18px, 120%, normal... | Hauteur de ligne |
| 25px | Alinéa |
| pre, nowrap, normal | Césure |
| break-word, normal | Césure forcée |
| 5px 5px 2px blue | Ombre de texte |
Propriétés de couleur et de fond
Propriété | Valeurs (exemples) | Description |
---|---|---|
| nom, rgb(rouge,vert,bleu), rgba(rouge,vert,bleu,transparence), #CF1A20... | Couleur du texte |
| Identique à color | Couleur de fond |
| url('image.png') | Image de fond |
| fixed, scroll | Fond fixe |
| repeat-x, repeat-y, no-repeat, repeat | Répétition du fond |
| (x y), top, center, bottom, left, right | Position du fond |
| - | Super propriété du fond. Combine : |
| 0.5 | Transparence |
Propriétés des boites
Propriété | Valeurs (exemples) | Description |
---|---|---|
| 150px, 80%... | Largeur |
| 150px, 80%... | Hauteur |
| 150px, 80%... | Largeur minimale |
| 150px, 80%... | Largeur maximale |
| 150px, 80%... | Hauteur minimale |
| 150px, 80%... | Hauteur maximale |
| 23px | Marge en haut |
| 23px | Marge à gauche |
| 23px | Marge à droite |
| 23px | Marge en bas |
| 23px 5px 23px 5px | Super-propriété de marge. |
| 23px | Marge intérieure à gauche |
| 23px | Marge intérieure à droite |
| 23px | Marge intérieure en bas |
| 23px | Marge intérieure en haut |
| 23px 5px 23px 5px | Super-propriété de marge intérieure. |
| 3px | Épaisseur de bordure |
| nom, rgb(rouge,vert,bleu), rgba(rouge,vert,bleu,transparence), #CF1A20... | Couleur de bordure |
| solid, dotted, dashed, double, groove, ridge, inset, outset | Type de bordure |
| 3px solid black | Super-propriété de bordure. Combine |
| 5px | Bordure arrondie |
| 6px 6px 0px black | Ombre de boîte |
Propriétés de positionnement et d'affichage
Propriété | Valeurs (exemples) | Description |
---|---|---|
| block, inline, inline-block, table, table-cell, none... | Type d'élément ( |
| visible, hidden | Visibilité |
| rect (0px, 60px, 30px, 0px) | Affichage d'une partie de l'élément |
| auto, scroll, visible, hidden | Comportement en cas de dépassement |
| left, right, none | Flottant |
| left, right, both, none | Arrêt d'un flottant |
| relative, absolute, static | Positionnement |
| 20px | Position par rapport au haut |
| 20px | Position par rapport au bas |
| 20px | Position par rapport à la gauche |
| 20px | Position par rapport à la droite |
| 10 | Ordre d'affichage en cas de superposition. |
Propriétés des listes
Propriété | Valeurs (exemples) | Description |
---|---|---|
| disc, circle, square, decimal, lower-roman, upper-roman, lower-alpha, upper-alpha, none | Type de liste |
| inside, outside | Position en retrait |
| url('puce.png') | Puce personnalisée |
| - | Super-propriété de liste. Combine |
Propréités des tableaux
Propriété | Valeurs (exemples) | Description |
---|---|---|
| collapse, separate | Fusion des bordures |
| hide, show | Affichage des cellules vides |
| bottom, top | Position du titre du tableau |