我有同樣的問題,它似乎是一個錯誤發生在頁面內部發生太多時,我可以通過將以下轉換代碼添加到固定位置元素來修復它(transform: translateZ(0);-webkit-transform: translateZ(0);
),強制瀏覽器使用硬件加速來訪問設備的圖形處理單元(GPU)以使像素飛行。另一方面,Web應用程序運行在瀏覽器的上下文中,這使得軟件可以執行大部分(如果不是全部)渲染,從而導致轉換的功率減少。但是網絡一直在追趕,大多數瀏覽器廠商現在都通過特定的CSS規則來提供圖形硬件加速。
使用-webkit-transform:translate3d(0,0,0);將啓動GPU進行CSS轉換,使其更平滑(更高的FPS)。
注: translate3d(0,0,0)什麼也不做在你所看到的條款。它將對象在x,y和z軸上移動0px。這只是一種強制硬件加速的技術。
#fixed-element {
position: fixed;
/* MAGIC HAPPENS HERE */
transform: translateZ(0);
-moz-transform: translatez(0);
-ms-transform: translatez(0);
-o-transform: translatez(0);
-webkit-transform: translateZ(0);
-webkit-font-smoothing: antialiased; /* seems to do the same in Safari Family of Browsers*/
}
來源
2014-09-18 23:20:32
Neo
非常感謝您的快速反應,比爾!你的回答實際上是很有意義的,它讓我看到了我以錯誤的方式思考我的問題的事實。我感謝您花時間向我解釋這一點。祝你有個好的一天! – user1721301
很高興能幫到你! –