a única ressalva real quanto ao tamanho que você torna max-height
, você não quer usar um valor muito grande para elementos que não contêm muito conteúdo; inversamente, você não deseja usar um valor muito pequeno para elementos que contêm muito conteúdo.
a principal razão para isso é que você não quer uma animação realmente rápida para o primeiro e uma animação incrivelmente rápida para o último.
agora que já conhecemos as más notícias, aqui está um exemplo de como você pode animar suavemente a expansão e o recolhimento de elementos com alturas arbitrárias usando transições CSS3: http://jsbin.com/ulawud/6