iOS设备(iPhone / iPad)上的CSS3过渡:应用不透明度过渡DOM对象华丽



我在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显示哪些元素被加速。

最新更新