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.

l'image de la question

InformationsquelleAutor Adavo | 2016-01-16