Here is a fiddle for start: http://jsfiddle.net/kizu/A7QX9/
The problem: in Opera when you animate the transition for visibility property (usually along with the opacity) it’s not animated properly: the visibility is changed always at the end of transition, so when the block is appearing it’s not appearing smoothly.
So, the question: is there any CSS-only workaround for this Opera’s bug?
After I formulated the question and thought for a while, I’ve found the answer myself.
And came up with a solution.
So, going step-by-step:
opacityandvisibilitywith a transition, the block stays withvisibility: hiddenwhile the transition is in the run. So, you don’t need to use transition forvisibilityhere.visibilityat the end of the transition, so you need the transition here apparently.opacityand in the selector where it’s shown, you don’t need the transition.Here is a fiddle I’ve made with this solution: http://jsfiddle.net/kizu/A7QX9/1/