揭秘CSS屬性選擇對動畫性能的影響

現(xiàn)在手機的占比越來越高,各種酷炫頁面層出不窮唆鸡,這些特效都離不開css動畫涝影。說到css動畫,主流的情況也就無非這兩大類:位移和形變争占。

而我們在寫一個動畫特效的過程中燃逻,如何去提升它的性能呢?當(dāng)然首先我們需要去了解一下基本的概念臂痕,比如瀏覽器渲染的工作原理等伯襟,這些我也在讀了幾位大牛寫的相關(guān)文章后才有了一定的了解,這邊我也不細(xì)說了刻蟹,有興趣的同學(xué)可以去了解一下逗旁。

本次的目的簡單粗暴地講,其實就是我們應(yīng)該使用什么css屬性去進(jìn)行動畫的繪制時舆瘪,能夠有效的提高瀏覽器在渲染和繪制過程中的性能片效。

快速進(jìn)入主題,大家先來看個demo英古。我分別使用了left和transform在2秒內(nèi)向右平移了500px的位移淀衣。代碼如下:

然后在chrome下得到了如下的結(jié)果,第一張為使用left的截圖召调,第二張為使用transform的截圖:

顯而易見膨桥,我們在幀模式這里可以看到left比transform幀數(shù)要低,而且在渲染和繪制這邊的耗時唠叛,left要遠(yuǎn)遠(yuǎn)的大于transform只嚣。看到這里艺沼,相信大家心里已經(jīng)有結(jié)論了册舞。

我們再利用chrome的show paint rectangles來觀察一下兩者在動畫過程中,渲染和繪制的區(qū)域有何差異,第一張為使用left的截圖障般,第二張為使用transform的截圖:

怎么樣调鲸,看后是是否有收獲呀盛杰,希望小編的分享對大家有所幫助,也歡迎大家指出不足藐石,也可以加我Q群:142991222一起分享即供,這樣我們的友誼才能天長地久。

我們可以看到于微,使用left寫的整個動畫過程中逗嫡,瀏覽器一直在進(jìn)行繪制處理。而相對而言角雷,使用transform時祸穷,僅僅是在動畫開始和結(jié)束是進(jìn)行了繪制。因此勺三,對于動畫的性能上雷滚,transform要更為出色。至于原因吗坚,這里就要引入一個觸發(fā)重新布局的概念:

我們在改變一些屬性時祈远,如果是跟layout相關(guān)的屬性,則會觸發(fā)重新布局商源,導(dǎo)致渲染和繪制所需要的時間將會更長车份。因此,我們在寫動畫的時候因該規(guī)避這些屬性:width, height, margin, padding, border, display, top, right, bottom ,left, position, float, overflow等牡彻。

不會出發(fā)重新布局的屬性有:transform(其中的translate, rotate, scale), color, background等扫沼。

所以,我們平時在寫css動畫時庄吼,應(yīng)該優(yōu)先使用不觸發(fā)重新布局的屬性缎除,這樣可以使我們所展示動畫效果的更加流暢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末总寻,一起剝皮案震驚了整個濱河市器罐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌渐行,老刑警劉巖轰坊,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異祟印,居然都是意外死亡肴沫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門蕴忆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來樊零,“玉大人,你說我怎么就攤上這事孽文∽そ螅” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵芋哭,是天一觀的道長沉衣。 經(jīng)常有香客問我,道長减牺,這世上最難降的妖魔是什么豌习? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮拔疚,結(jié)果婚禮上肥隆,老公的妹妹穿的比我還像新娘。我一直安慰自己稚失,他們只是感情好栋艳,可當(dāng)我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著句各,像睡著了一般吸占。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凿宾,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天矾屯,我揣著相機與錄音,去河邊找鬼初厚。 笑死件蚕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的产禾。 我是一名探鬼主播排作,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼下愈!你這毒婦竟也來了纽绍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤势似,失蹤者是張志新(化名)和其女友劉穎拌夏,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體履因,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡障簿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了栅迄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片站故。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出西篓,到底是詐尸還是另有隱情愈腾,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布岂津,位于F島的核電站虱黄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吮成。R本人自食惡果不足惜橱乱,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望粱甫。 院中可真熱鬧泳叠,春花似錦、人聲如沸茶宵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽节预。三九已至叶摄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間安拟,已是汗流浹背蛤吓。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留糠赦,地道東北人会傲。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像拙泽,于是被迫代替她去往敵國和親淌山。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案顾瞻? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,759評論 1 92
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,300評論 25 707
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color泼疑,font,text-align荷荤,li...
    love2013閱讀 2,316評論 0 11
  • 好吧退渗,不管外婆是睜了幾只眼或是看走眼,二妞承認(rèn)蕴纳,她外婆實在是高会油。盡管二孬是她爹,盡管自己繼承了他一半的基因古毛,公正...
    阿吉妹妹閱讀 286評論 0 1
  • 記得前段時間,聽幾個朋友說嫂冻,安裝Xcode7.2以上版本后胶征,就不能愉快的打碼了。而且絮吵,還長時間得不到解決弧烤,甚至安裝...
    DOU_SHA_BAO閱讀 4,467評論 1 6