我決定用:的z-index VS translate3D在Chrome
* {
-webkit-transform: translate3d(0px, 0px, 0px);
}
,當我看到它使我的動畫更加順暢,可能是因爲它迫使硬件加速。但我還需要進行一些z-index
調整,以便在文本前面放置一個形狀,以在動畫的某個點處顯示文字mask
。問題是:我的(灰色)形狀必須與另一個形狀(下面示例中的綠色形狀)同步,後者位於文本後面。
我建了一個簡單的example,使之更加直觀。它在Firefox上效果很好,但我無法在Chrome和Safari上使用它。那麼,如果我刪除了translate3d的東西,它就可以工作,但是因爲我的實際項目需要大量的滑動和平滑的動畫,所以如果我這樣做,用戶體驗就會受到影響。
我認爲Chrome正在表現出正確的行爲,但Firefox是不是。 '#handler'元素爲其子級建立「最大」堆棧級別。即使'#mask'的'z-index'的整數值高於'#text'的整數值,並不意味着'#mask'在視覺上會高於'#text'。不過,我可能是錯的,這就是爲什麼我發佈這個評論。 – Blender
謝謝安娜。說得通。但是,當我刪除translate3d作品時,爲什麼它會像預期的那樣工作(在Chrome上)?看看http://jsfiddle.net/izaiasdotcom/8Zs4e/1/。怪怪的? – Izaias