Je ne pense pas qu'il s'agisse d'un bug des navigateurs. Tous se comportent de la même manière - c'est-à-dire qu'une fois que vous avez cessé de spécifier des hauteurs explicites, la hauteur minimale est essentiellement une "dernière étape".
Il semble que ce soit exactement comme le suggère la spécification CSS 2.1 : http://www.w3.org/TR/CSS2/visudet.html#the-height-property
Le pourcentage est calculé par rapport à la hauteur du bloc contenant la boîte générée. Si la hauteur du bloc contenant n'est pas spécifiée explicitement (c'est-à-dire qu'elle dépend de la hauteur du contenu) et que cet élément n'est pas positionné de manière absolue, la valeur est égale à "auto".
Par conséquent, comme le min-height
Le parent ne dispose pas d'une height
définie, la valeur par défaut est auto.
Il existe quelques moyens de contourner ce problème, notamment en utilisant display: table-cell
ou des styles plus récents comme le flexbox, si cela est possible pour les navigateurs de votre public cible. Vous pouvez également contourner cette règle dans certaines situations en utilisant l'attribut top
y bottom
sur un élément interne absolument positionné, ce qui vous donne une hauteur de 100 % sans le spécifier.