flexbox hauteur ajuster au contenu
- Je utiliser un "design" flexbox.
J'ai un drôle de problème : j'ai un conteneur qui prend tout l'espace restant et je veux dans ce conteneur de l'enfant, qui est également flexbox, à leur hauteur, pour adapter leur contenu.
Voici la question:
CSS:
body, html {
width:100%;
height:100%;
display:flex;
}
.container {
display:flex;
flex:1;
flex-wrap:wrap;
}
.icon {
width:10vh;
margin:10px;
display:flex;
flex-direction:column;
}
.img {
width:10vh;
height:10vh;
display:flex;
align-items:center;
justify-content:center;
background-color:red;
}
.text {
text-align:center;
}
HTML:
<div class="container">
<div class="icon">
<div class="img">
</div>
<div class="text">
action 1
</div>
</div>
<div class="icon">
<div class="img">
</div>
<div class="text">
Action 2
</div>
</div>
<div class="icon">
<div class="img">
</div>
<div class="text">
Action 3
</div>
</div>
<div class="icon">
<div class="img">
</div>
<div class="text">
Action 4
</div>
</div>
<div class="icon">
<div class="img">
</div>
<div class="text">
Action 5
</div>
</div>
</div>
Comme vous pouvez le voir, l'icône prend toute la hauteur du conteneur : en fait, je ne veux pas spécifier une hauteur parce que je ne connais pas la longueur du texte et que vous voulez vraiment que, si le contenu est énorme, l'icône prend la hauteur de son contenu ( ne veux pas couper le texte). En outre, si la page est redimensionnée, je veux vraiment l'icône pour être alignées (comme sur un smartphone).
Aussi, je ne comprends pas pourquoi l'icône prend la hauteur de sa mère et non de son contenu, car je n'ai pas préciser "flex:1" sur elle. Je suppose que le comportement par défaut c'est pour s'adapter à la taille du contenu, mais cela ne semble pas fonctionner.
Merci pour votre aide.
Vous devez vous connecter pour publier un commentaire.
.icon
's sontflex-column
qui rend.img
s'étirer par défaut, sauf si.icon
's ontalign-items
. La raison pour laquelle je n'ai pas demandéalign-items
à.icon
s'est parce que d'autres imbriquéeflex-containers/flex-items
a commencé à s'effondrer. Au lieu de régler à travers la hiérarchie, je suis monté et ajusté.container
à la place.Pertinentes CSS:
CSS:
HTML:
float
sur les stéroïdes, il suffit d'un petit changement dans le code, et vous obtenez des résultats spectaculaires.