首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有针对Opera的可见性转换错误的CSS解决方案?

有没有针对Opera的可见性转换错误的CSS解决方案?
EN

Stack Overflow用户
提问于 2011-10-18 03:05:15
回答 2查看 1.2K关注 0票数 3

这里有一个开始的小提琴:http://jsfiddle.net/kizu/A7QX9/

问题:在Opera中,当您为visibility属性(通常与opacity一起)设置过渡动画时,它的动画效果不正确:visibility总是在过渡结束时更改,因此当块出现时,它看起来并不流畅。

那么,问题是:对于这个Opera的bug,有没有什么只有CSS的变通办法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-18 03:28:00

在我阐述了这个问题并思考了一段时间后,我自己找到了答案。

并想出了一个解决方案。

所以,一步一步来:

  1. 让我们看看当你需要显示在开始时隐藏的块的情况。
  2. 当你用一个过渡切换opacityvisibility时,当过渡正在运行时,这个块留在visibility: hidden中。因此,您不需要在此处为visibility使用transition。
  3. ,但当您再次隐藏该块时,您需要在转换结尾处切换visibility,因此您需要在此处使用transition在隐藏块的选择器上您必须具有opacity的转换,而在显示该转换的选择器中,您不需要转换。

这是我在这个解决方案中做的一个小技巧:http://jsfiddle.net/kizu/A7QX9/1/

票数 4
EN

Stack Overflow用户

发布于 2011-10-18 06:23:09

目前在Opera中转换的实现是基于older version of the spec的,即对于转换可见性,"1“是”可见的“,而所有其他值都是”隐藏的“。

因此,如果你尝试从“隐藏”转换到“可见”,那么你将看不到元素,直到表示转换的底层0-1范围达到值1。同时,如果你从“可见”转换到“隐藏”,那么一旦转换开始,元素就会消失,因为值将<1。

您期望的行为是在"draft" version of the spec中指定的,它说明"0“是”隐藏的“,而所有其他值都是”可见的“。

不过,好消息是-Opera12将包含对此bug的修复。预计很快就会看到在Desktop Team blog上修复的测试构建。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7798282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档