J'ai trois div
occupant toute la largeur du conteneur. Les div
gauche et droite (devraient) avoir une largeur fixe, comme 300px
. Le div
principal devrait occuper l'espace restant. Cependant, si le texte dans le div
augmente, il augmente de manière à ce que les deux autres div
deviennent plus petits que 300 pixels.Pourquoi une largeur div spécifiée en pixels devient plus petite?
CSS
.container {
display:flex;
}
.main {
background:#CCC;
width:auto;
}
.left {
background:#8F8;
width:300px;
}
.right {
background:#F80;
width:300px;
}
HTML
<div class='container'>
<div class='left'>
Left
</div>
<div class='main'>
Main with long enough text to occupy more than a line, and a few more just to be sure.
</div>
<div class='right'>
Right
</div>
</div>
jsFiddle: https://jsfiddle.net/zLLnbo0u/
On peut voir le problème si le droit div
ou le texte principal est supprimé: l'augmente automatiquement div
gauche (retour à 300 pixels). Comment puis-je obtenir la gauche et la droite div
pour être précisément 300 pixels, et le principal div
pour occuper l'espace restant, quelle que soit la longueur du texte?
Merci. Le [MDN] (https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink) n'explique pas comment les autres valeurs fonctionnent, cependant. – Rodrigo