我在DIV里面有一个简单的IMG。使用 JavaScript,我将过渡应用于 DIV 元素:
<div style="transition: opacity 0.8s linear; opacity: 0.5;"><img
src="..." /></div>
当过渡时间结束时,che DIV 元素(或者可能是 DIV 的父元素)变得不可见,并在一瞬间返回可见。这个问题使蝙蝠闪现。
我只在我的iPAD上看这个。使用我的电脑,过渡是完美的。
如何消除此问题?
你需要用硬件加速div。为此,您需要添加以下样式:
-webkit-transform: translateZ(0px);
他们说以下样式也有助于启用硬件加速,但它对我不起作用。
-webkit-perspective: 1000;
-webkit-backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
为了帮助调试它,您需要使用以下键从终端在 Mac 上运行 Safari:
$> export CA_COLOR_OPAQUE=1
$> /Applications/Safari.app/Contents/MacOS/Safari
CA_COLOR_OPAQUE显示哪些元素被加速。