Adloun

CSS : mettre en forme le Web (école d'ingénieur) · Chapitre 5 · Application directe du cours

La barre de défilement fantôme

Le modèle de boîte · niveau 3 (difficile)

Énoncé

Une page affiche un bandeau de promotion. Dans une fenêtre de 800 pixels, une barre de défilement horizontale apparaît, alors que rien ne semble dépasser.


body {
  margin: 0;
  font-family: system-ui, sans-serif;
}

/* Erreur : 100 % + 2 × 20px de padding dépasse la fenêtre */
.bandeau {
  width: 100%;
  padding: 20px;
  background: #e07a1f;
}
  • Calculer la largeur du bandeau, et la largeur de la page qui en résulte.
  • Corriger avec une seule déclaration.
  • Donner une deuxième correction, sans box-sizing.

Corrigé

  • En content-box, width: 100% donne au contenu la largeur du parent, 800 pixels ; le rembourrage s'y ajoute : . La page mesure donc 840 pixels de large (scrollWidth 840 dans Chromium) et défile de 40 pixels.
  • box-sizing: border-box : les 800 pixels comprennent le rembourrage, et la page retrouve sa largeur de 800.

body {
  margin: 0;
  font-family: system-ui, sans-serif;
}

.bandeau {
  box-sizing: border-box;
  width: 100%;
  padding: 20px;
  background: #e07a1f;
}
  • Supprimer width: 100% : un bloc prend déjà toute la largeur disponible (width: auto), rembourrage compris. Cette déclaration n'était pas seulement inutile, elle était nuisible.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →