我想開始使用一些CSS3轉換在我做的響應網站上,一切工作完美的桌面Chrome和Android上的Chrome,但它不能在ios設備上正常工作的兩個Chrome和Safari。CSS3轉換在iOS慢/不工作
的CSS代碼段我用我的菜單,例如,低於:
#menu {
width: 180px;
height: 100%;
position: fixed;
top: 0;
left: -180px;
z-index: 9;
transition: left 1s;
-webkit-transition: left 1s;
}
我有一個菜單按鈕,點擊後,調用JavaScript函數,改變了「左」的風格0,它從屏幕左側的外側過渡到位置。
一切工作正常在臺式機和Chrome Android上,但在iOS和Chrome瀏覽器它是非常不連貫或它只是延遲一秒鐘,然後立即彈出。在我所有的轉換中都是這樣做的,但爲了簡單起見,我只顯示一個菜單。
我已經做了google搜索,並通過堆棧尋找,但我真的發現的唯一的事情說了很多,以添加以下內容:
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
-webkit-transform: translate3d(0, 0, 0);
的風格給力的硬件加速,但它不工作要麼。我看不出有任何改變。任何幫助,將不勝感激。
避免的,而不是嘗試使用'變換:平移X(0)'用於水平調整 – Swordys
@Swordys我會給你一張支票。我之前並沒有真正與'變形'混爲一談,因爲直到最近我還沒有真正嘗試過渡,尤其是不適合移動。我也有同樣的問題,不斷變化的/不工作的元素,不改變定位,但有最大高度和不透明度的過渡。對所有人使用變換最好嗎? – Jetteh22
是的,如果你在絕對元素上使用很多轉換,它會對性能產生很大的影響。使用轉換是順暢體驗的最佳實踐。您還可以嘗試使用'will-change:transform'來強制硬件加速,但目前Safari瀏覽器不支持它。 – Swordys