Aller au contenu
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
margin : 20px border : 2px padding : 16px Babouche rouge 180 DH width : 200px carte voisine 200 + 2×16 + 2×2 = 236 px

Au centre, le contenu : ici le texte de la carte, sur une largeur (width) de 200 px.

1 / 5

La typographie

PropriétéExempleEffet
font-familyGeorgia, serifla police (avec une police de secours)
font-size1.125remla taille
font-weight700 ou boldla graisse
font-styleitalicl’italique
line-height1.6l’interligne
text-transformuppercasemajuscules
text-decorationnonesupprimer le soulignement
letter-spacing1pxespacement 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 :

  1. le contenu (width, height) ;
  2. le padding : l’espace intérieur, qui prend la couleur de fond ;
  3. la bordure (border: 2px solid #8b5a2b) ;
  4. 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: 1px solid #ddd;
  border-radius: 12px;                         /* coins arrondis */
  box-shadow: 0 4px 12px rgba(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 */
}

Les fonds

PropriétéRôle
background-colorcouleur de fond
background-image: url(...)image de fond
background-size: coverl’image couvre toute la zone
background-position: centerposition de l’image
background-repeat: no-repeatpas de répétition
linear-gradient(...)dégradé : background: linear-gradient(#0b5394, #6fa8dc);
Exemple simple

Le cadre photo

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: 2px solid #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 */

3Manipuler

Transformez le paragraphe en carte produit en modifiant style.css. Changez les valeurs et observez l'effet en direct.
Ouvrir dans le lab ↗
  • 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.

Voir le corrigé
header {
  background-image: url("images/zellige.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: white;
}

5Vérifier

1. Dans le modèle de boîte, quelle zone se trouve entre le contenu et la bordure ?
2. Que fait border-radius: 50% sur une image carrée ?
3. Quelle propriété change l'espace entre les lignes d'un paragraphe ?