我一直在玩CSS3转换以淡入覆盖div,当我遇到了一个奇怪的问题时。CSS 3与不透明度的转换 - Chrome和Firefox
基本上我有一个div元素,它的样式设置为id - 即background-color:#000,opacity:0等。以及浏览器特定的转换样式。默认情况下,overlay元素上有一个“hiddenElement”类,将其设置为none。
当要显示叠加层时,hiddenElement类将被删除,而另一个类将添加“初始化”类,此类将元素不透明度设置为0.6。
我期望发生的事情是元素能够流畅地动画,这在Opera中发生,但是在firefox和chrome中它并不像那样工作。
我在这里构建了一个独立的案例:http://jsbin.com/obojet/27/。你可以看到,当“addClass('Initialised')”包含在setTimeout()中时,即使在chrome中超时时间为0ms,它也可以正确地进行动画处理。只是在超时之外做addClass,不会做动画。在Firefox中,超时时间必须更长 - 50ms。在歌剧中它只是起作用。
这可能是UI/Javascript竞争单线程,但我只是好奇是否有其他人遇到类似的问题。
我不能将它标记为opacity:0,因为覆盖图覆盖了整个屏幕,并且我希望在显示之间将它留在DOM中。你说得对,显示:没有问题。向左移动可纠正问题。显示器令人讨厌:在这种情况下,没有任何东西看起来更像是正确的事情。 –