CSS : mettre en forme le Web (école d'ingénieur) · Chapitre 8 · Exercice de TD
Un catalogue parfaitement aligné
Grid · niveau 3 (difficile)
Énoncé
Dans le catalogue de la Librairie, le titre « Introduction à l'algorithmique » tient sur deux lignes : dans sa rangée, son auteur et son rayon sont plus bas que ceux des autres cartes (seuls les prix sont alignés, grâce à margin-top: auto). Sans toucher au HTML, ni à la feuille style.css, écrire une feuille supplémentaire subgrid-catalogue.css qui aligne, dans chaque rangée de cartes, les couvertures, les titres, les auteurs, les rayons et les prix. Rappel : chaque carte <article class="carte"> a cinq enfants et est enveloppée dans un <li>.
Corrigé
Chaque <li> est un élément de la grille .cartes ; on lui fait occuper cinq rangées et on fait de lui une sous-grille. La carte, son unique enfant, fait de même ; ses cinq enfants s'alignent alors sur les rangées de la grille des cartes.
.cartes > li {
grid-row: span 5;
grid-template-rows: subgrid;
row-gap: 0;
}
.carte {
display: grid;
grid-row: span 5;
grid-template-rows: subgrid;
row-gap: 0;
}
Les <li> sont déjà des grilles (display: grid dans style.css) ; la carte, elle, était une boîte flexible et devient une grille. Le row-gap: 0 supprime la gouttière de 1.5rem entre les rangées d'une même carte. Dans Chromium (page code/ch8/exercices/subgrid-catalogue.html, à 900 pixels), les trois auteurs de la première rangée sont à la même ordonnée, 340,48 pixels, au lieu de 427,38, 448,48 et 427,38 sans sous-grille ; il en va de même des titres, des rayons et des prix.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.