Au lieu d’utiliser height auto, utilisé max-height
Utiliser max-height dans la transition et non height. Et définissez une valeur sur max-height quelque chose de plus grand que ce que votre boîte obtiendra jamais.
exemple
.invisible{
max-height: 0px;
transition: max-height 0.3s;
}
.invisible-devient-visible{
max-height: 1000px;
transition: max-height 0.3s;
}