Je n'arrive pas à comprendre pourquoi mon div info-container ne va pas ajuster sa hauteur en fonction de son contenu. J'ai un div flottant à l'intérieur et je pense que cela pourrait causer le problème, mais je ne suis pas complètement sûr. J'ai un lien vers jsfiddle où vous pouvez voir le CSS et du HTML si cela aide. Toute aide est grandement appréciée!
Voici le CSS de l'ID du conteneur d'informations contenant le flotteur et toutes les autres informations
#info-container{
position:relative;
padding-bottom:20px;
padding-top:20px;
padding-left:10px;
padding-right:10px;
margin-left:auto;
margin-right:auto;
background:#6F90A2;
min-width:1000px;
max-width:1000px;
clear: both;
height:auto;
}
Ajouter overflow:auto;
à #info-container
.
Faire flotter l'élément enfant le supprime du flux de documents et le parent se réduira. En ajoutant la règle de débordement, le comportement souhaité est restauré.
#info-container{
overflow: auto;
}
Vous avez besoin de ce que l'on appelle le clearfix CSS. Ceci peut être réalisé avec le CSS suivant.
#info-container:after {
clear: both;
content: "";
display: table;
}
Cela créera un pseudo-élément qui forcera le wrapper à envelopper les enfants flottants.
Il s'agit sans doute d'une solution plus propre que l'ajout d'une propriété overflow
, car la propriété overflow a d'autres utilisations et, selon le cas, peut provoquer des problèmes de débordement masqué ou de barres de défilement internes.
Créez une classe CSS:
.clear:before,
.clear:after {
content:" ";
display:table;
}
.clear:after {
clear:both;
}
et appliquez-le simplement à votre
<div id="info-container" class="clear">
ou à tout autre élément contenant Floated éléments avec lesquels vous rencontrez des problèmes.
overflow : auto;
pour tout élément parent contenant des enfants flottants, si vous êtes en mesure de le faire car cela deviendra un débordement élément