CSS : mettre en forme le Web (école d'ingénieur) · Chapitre 7 · Application directe du cours
Calcul de flex-shrink
Flexbox · niveau 3 (difficile)
Énoncé
*,
*::before,
*::after {
box-sizing: border-box;
}
body {
margin: 16px;
font-family: system-ui, sans-serif;
}
.rangee {
display: flex;
width: 500px;
background: #dbe4f0;
}
.rangee span {
color: #fff;
background: #1f3a68;
}
.a {
flex: 0 1 400px;
}
.b {
flex: 0 2 200px;
background: #a8520a;
}
Les éléments n'ont ni rembourrage ni bordure.
- De combien les éléments débordent-ils ?
- Calculer la largeur finale de A et de B.
- B a un
flex-shrinkdouble de celui de A. Pourquoi perdent-ils pourtant autant l'un que l'autre ? - Que se passe-t-il si A a
flex-shrink: 0?
Corrigé
- pixels de débordement.
- Poids : , ; total 800. A perd , B aussi. Largeurs : 350 et 150, mesurées par Chromium (
code/ch7/exo-shrink.html). - Le
flex-shrinkest multiplié par la taille de base : B rétrécit deux fois plus par pixel de base, mais il a deux fois moins de base. Les deux effets se compensent. - A ne rétrécit plus : il garde 400 ; B doit absorber seul les 100 pixels et passe à 100 (vérifié dans Chromium). Attention :
flex: nonene conviendrait pas ici, car il remet aussi la base àauto, et A perdrait ses 400 pixels.
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.