这是开始的小提琴:http://jsfiddle.net/kizu/A7QX9/
问题:在Opera为visibility
属性的转换设置动画时(通常与opacity
一起),它没有正确设置动画:visibility
总是在转换结束时更改,所以当块出现时,它看起来并不顺畅。
所以,问题是:这个Opera的bug是否有任何仅限CSS的解决方法?
答案 0 :(得分:4)
在我提出问题并思考了一段时间后,我自己找到了答案。
并提出了一个解决方案。
所以,一步一步:
opacity
和visibility
时,块会在转换处于运行状态时保持visibility: hidden
。因此,您无需在visibility
处使用转换。visibility
,所以你需要在这里进行转换。opacity
的转换,并且在显示它的选择器中,您不需要转换。这是我用这个解决方案制作的小提琴:http://jsfiddle.net/kizu/A7QX9/1/
答案 1 :(得分:3)
Opera当前的转换实现基于older version of the spec说,转换可见性“1”是“可见的”,所有其他值都是“隐藏”。“
因此,如果您尝试从“隐藏”转换为“可见”,那么在表示转换的基础0-1范围达到值1之前,您将看不到该元素。 同时,如果您从“可见”转换为“隐藏”,则只要转换开始,元素就会消失,因为值将为< 1。
您期望的行为在"draft" version of the spec中指定,其中“0”被隐藏“并且所有其他值都是”可见的“。”。
虽然好消息 - Opera 12将包含针对此bug的修复程序。期待很快就会在Desktop Team blog上看到测试版本。