M04 · C. Mettre en forme une page web avec les feuilles de style CSS
Les propriétés CSS : texte, boîtes, images et fonds
Mettre en forme le texte, comprendre le modèle de boîte (contenu, padding, bordure, marge), ajouter des bordures arrondies et des ombres, dimensionner les images et décorer les fonds.
1Situer
Une boutique de babouches à Fès présente ses modèles sur des fiches produits. Pour que chaque fiche ressemble à une vraie carte, avec de l'espace autour du texte, un cadre arrondi, une ombre légère et une photo bien dimensionnée, il faut comprendre une idée centrale du CSS : chaque élément est une boîte.
2Comprendre
Le modèle de boîte : contenu, padding, bordure, marge
Au centre, le contenu : ici le texte de la carte, sur une largeur (width) de 200 px.
1 / 5
La typographie
Propriété
Exemple
Effet
font-family
Georgia, serif
la police (avec une police de secours)
font-size
1.125rem
la taille
font-weight
700 ou bold
la graisse
font-style
italic
l’italique
line-height
1.6
l’interligne
text-transform
uppercase
majuscules
text-decoration
none
supprimer le soulignement
letter-spacing
1px
espacement des lettres
Le modèle de boîte
Chaque élément est une boîte composée de quatre zones, de l’intérieur vers l’extérieur :
le contenu (width, height) ;
le padding : l’espace intérieur, qui prend la couleur de fond ;
la bordure (border: 2px solid #8b5a2b) ;
la marge (margin) : l’espace extérieur, transparent, qui éloigne les voisins.
Les raccourcis suivent le sens des aiguilles d’une montre : padding: haut droite bas gauche. La règle * { box-sizing: border-box; } fait que width inclut le padding et la bordure : les calculs deviennent beaucoup plus simples.
Bordures et ombres
.carte{border:1pxsolid#ddd;border-radius:12px;/* coins arrondis */box-shadow:04px12pxrgba(0,0,0,0.15);/* x y flou couleur */}
text-shadow fonctionne de la même façon pour le texte.
Les images
img{max-width:100%;/* ne déborde jamais de son parent */height:auto;/* garde les proportions */}.vignette{width:120px;height:120px;object-fit:cover;/* recadre sans déformer */}
La photo est le contenu. Le passe-partout blanc autour est le padding. Le cadre en bois est la bordure. L'espace laissé entre deux cadres sur le mur est la marge.
.carte{padding:16px;/* le passe-partout */border:2pxsolid#8b5a2b;/* le cadre */margin:20px;/* l'espace sur le mur */}
Exemple simple
Le colis et son papier bulle
Un colis de 30 cm avec 5 cm de papier bulle de chaque côté prend 40 cm de place. Une boîte CSS aussi : sa largeur réelle ajoute le padding et la bordure, sauf si on écrit box-sizing: border-box.
*{box-sizing:border-box;}/* width inclut padding et bordure */
Publicité
3Manipuler
Transformez le paragraphe en carte produit en modifiant style.css. Changez les valeurs et observez l'effet en direct.
○Ajoutez un espace intérieur (padding) de 16px à .carte
○Arrondissez les coins de .carte (border-radius)
○Ajoutez une ombre à .carte (box-shadow)
○L'image doit prendre toute la largeur de la carte (width: 100%)
○Agrandissez le prix (font-size de 24px)
4Pratiquer
Exercice 1 · Calculer la largeur réelle
Une boîte a width: 200px; padding: 10px; border: 5px solid; margin: 20px. Quelle place occupe-t-elle en largeur (sans box-sizing) ? Et avec box-sizing: border-box ?
Voir le corrigé
Sans box-sizing : 200 + 2×10 + 2×5 = 230 px de boîte visible,
plus 2×20 de marge = 270 px de place occupée.
Avec border-box : la boîte visible fait 200 px (le contenu rétrécit à 170 px),
plus 40 de marge = 240 px.
Exercice 2 · Les raccourcis
Que signifient : (1) margin: 10px 20px ; (2) padding: 5px 10px 15px 20px ; (3) margin: 0 auto ?
Voir un indice
Le sens des aiguilles d'une montre : haut, droite, bas, gauche.
Voir le corrigé
1. 10 px en haut et en bas, 20 px à gauche et à droite
2. haut 5, droite 10, bas 15, gauche 20
3. 0 en haut et en bas, marges automatiques à gauche et à droite :
la boîte (si elle a une largeur) est centrée horizontalement.
Exercice 3 · Un fond d'en-tête
Écrivez la règle d'un en-tête qui affiche l'image zellige.jpg en fond, qui couvre toute la zone, centrée, sans répétition, avec un texte blanc.