there's 'cognitive friction' if you implement things in obtuse ways. fortunately web application development has a clean and easy way to accomplish these sorts of things: it's called javascript.
I could go on about the cognitive friction of javascript itself as a language but that's another discussion, but yes, I would almost certainly use javascript for this. I'm not really talking about this specific example, but a myriad of other examples where using transitions and other CSS features do make sense.
My favorite example is the way transitions handle height/width properties set it auto, in that they just don't. If you do decide to change the height of an "auto" sized item and want a transition you instead have to set it's current height explicitly (in Javascript) first, then set it to the height of the to the height of the new content (having calculated that somehow. What is worse you can't have the transition turned on, because setting from auto to X with the transitions on will cause a transition 'blip' from 0 to X.
The fact that this very simple and obvious case (that of changing the contents of something and having the height transition smoothly) was not addressed in the transition specifications is exactly what I am talking about.