1. 程式人生 > >優化transform在過渡效果中出現文字模糊和抖動問題

優化transform在過渡效果中出現文字模糊和抖動問題

最近在專案提交後測試部門反饋這樣的問題,下拉選單在過渡效果中出現文字模糊和抖動。除錯過程中發現除IE 11和FireFox 54下沒有出現該問題,但在Chrome下出現上述問題。

這裡寫圖片描述

原因:這是因為,transform變換會在瀏覽器上單獨建立一個繪畫層並重新進行渲染,rotate渲染的時候,由於圖層渲染的時候也處理了周圍的文字,如果高度為奇數的文字可能會存在半個畫素的計算量,瀏覽器對這半個畫素會進行優化渲染,所以邊緣會出現模糊的情況。

優化方法:
1. 將transform: translate(-50%, -50%)改成transform: translate3d(-50%, -50%, 0)

可以解決抖動,但仍然模糊。
2. 將元素的高度設定為偶數可解決;
3. 將transform: translate(-50%, -50%)中的y軸單位改成px也可以解決
4. 改成transform: translate(-50%, -52%)也可以解決(如果52%不行則從51%每個百分比嘗試)
以上方法能較大程度優化問題,但仔細檢視仍有細微抖動,最後用了第四種方法。