CSSだけで高さ可変のアニメーションを実装するとなると、かなり工夫が必要です。JavaScriptなしでは、jQueryのSlideDown SlideUpのようななめらかなアニメーションを実装するのはかなり厳しいです。JavaScriptを使いましょう。 くわしくはこちら。