Es gibt wohl einen Workaround, bei dem width von 0% auf 100% animiert wird. Es bedarf also eines Wrappers, der die 100% vorgibt.
http://stackoverflow.com/questions/7861648/animate-an-elements-width-from-0-to-100-with-it-and-its-wrapper-being-only-a
http://front-back.com/css-transition-from-a-fixed-px-width-to-an-auto-width
Das lässt sich aber auf mein Beispiel nicht so einfach anwenden.
http://codepen.io/molily/pen/AkqLG
Wenn ich mit max-width: 0% anstatt 0 arbeite, dann nimmt der Wrapper immer Raum ein. Und mit 0 wird zwar die Breite des inneren Elements animiert, aber der Wrapper springt.
Mathias