Protéger les enfants de la div de déborder div parent
J'ai un div parent contenant un en-tête de section et d'une section de corps. Le div parent a une hauteur maximale, mais pas de hauteur minimale.
Voir cet exemple: https://jsfiddle.net/1o79a6nc/2/
CSS:
#cont {
padding: 5px;
background-color: red;
max-height: 150px;
max-width: 50%;
}
#body {
background-color: blue;
overflow-y: auto;
overflow-x: hidden;
}
#head {
background-color: green;
}
HTML:
<div id='cont'>
<div id='head'>
<div>Head</div>
</div>
<div id='body'>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
<div>Body</div>
</div>
</div>
Je veux le corps de seulement augmenter de sorte qu'il s'adapte à l'intérieur de la mère (y compris le remplissage), et ensuite appliquer des barres de défilement si nécessaire.
Comme le montre l'exemple, j'ai essayé overflow-y: auto
, cependant cela ne fonctionne pas comme je l'ai prévu.
Edit: je veux des barres de défilement n'apparaissent sur le corps, de sorte que la section d'en-tête et le parent remplissage en bas sont toujours visibles.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement placer le récipient à flexbox.
jsFiddle
CSS:
HTML:
Une autre option serait d'utiliser CSS table, quelques extra code HTML est nécessaire. Et
max-height
ne fonctionne pas avec le tableau de mise en page, afin de l'utiliserheight
à la place.jsFiddle
CSS:
HTML:
j'ai mis à jour votre jsfiddle vérifier
jsfiddle