国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

僅使用CSS就可以提高頁面渲染速度的4個技巧

開發 前端
作為一名開發者,你可以做很多事情來改善用戶體驗。本文將重點介紹4個可以用來提高頁面渲染速度的CSS技巧。

用戶喜歡快速的網絡應用,他們希望頁面加載速度快,功能流暢。如果在滾動時有破損的動畫或滯后,用戶很有可能會離開你的網站。作為一名開發者,你可以做很多事情來改善用戶體驗。本文將重點介紹4個可以用來提高頁面渲染速度的CSS技巧。

[[374736]]

1. Content-visibility

一般來說,大多數Web應用都有復雜的UI元素,它的擴展范圍超出了用戶在瀏覽器視圖中看到的內容。在這種情況下,我們可以使用內容可見性( content-visibility )來跳過屏幕外內容的渲染。如果你有大量的離屏內容,這將大大減少頁面渲染時間。

這個功能是最新增加的功能之一,也是對提高渲染性能影響最大的功能之一。雖然 content-visibility 接受幾個值,但我們可以在元素上使用 content-visibility: auto; 來獲得直接的性能提升。

讓我們考慮一下下面的頁面,其中包含許多不同信息的卡片。雖然大約有12張卡適合屏幕,但列表中大約有375張卡。正如你所看到的,瀏覽器用了1037ms來渲染這個頁面。

僅使用CSS就可以提高頁面渲染速度的4個技巧

下一步,您可以向所有卡添加 content-visibility 。

在這個例子中,在頁面中加入 content-visibility 后,渲染時間下降到150ms,這是6倍以上的性能提升。

僅使用CSS就可以提高頁面渲染速度的4個技巧

正如你所看到的,內容可見性是相當強大的,對提高頁面渲染時間非常有用。根據我們目前所討論的東西,你一定是把它當成了頁面渲染的銀彈。

content-visibility 的限制

然而,有幾個領域的內容可視性不佳。我想強調兩點,供大家參考。

  • 此功能仍處于試驗階段。截至目前,Firefox(PC和Android版本)、IE(我認為他們沒有計劃在IE中添加這個功能)和,Safari(Mac和iOS)不支持內容可見性。
  • 與滾動條行為有關的問題。由于元素的初始渲染高度為0px,每當你向下滾動時,這些元素就會進入屏幕。實際內容會被渲染,元素的高度也會相應更新。這將使滾動條的行為以一種非預期的方式進行。
僅使用CSS就可以提高頁面渲染速度的4個技巧

為了解決滾動條的問題,你可以使用另一個叫做 contain-intrinsic-size 的 CSS 屬性。它指定了一個元素的自然大小,因此,元素將以給定的高度而不是0px呈現。

  1. .element{ 
  2.   content-visibility: auto; 
  3.   contain-intrinsic-size: 200px; 

然而,在實驗時,我注意到,即使使用 conta-intrinsic-size,如果我們有大量的元素,content-visibility 設置為 auto ,你仍然會有較小的滾動條問題。

因此,我的建議是規劃你的布局,將其分解成幾個部分,然后在這些部分上使用內容可見性,以獲得更好的滾動條行為。

2. Will-change 屬性

瀏覽器上的動畫并不是一件新鮮事。通常情況下,這些動畫是和其他元素一起定期渲染的。不過,現在瀏覽器可以使用GPU來優化其中的一些動畫操作。

通過will-change CSS屬性,我們可以表明元素將修改特定的屬性,讓瀏覽器事先進行必要的優化。

下面發生的事情是,瀏覽器將為該元素創建一個單獨的層。之后,它將該元素的渲染與其他優化一起委托給GPU。這將使動畫更加流暢,因為GPU加速接管了動畫的渲染。

考慮以下CSS類:

  1. // In stylesheet 
  2. .animating-element { 
  3.   will-change: opacity; 
  4.  
  5. // In HTML 
  6. <div class="animating-elememt"> 
  7.   Animating Child elements 
  8. </div> 

當在瀏覽器中渲染上述片段時,它將識別 will-change 屬性并優化未來與不透明度相關的變化。

根據Maximillian Laumeister所做的性能基準,可以看到他通過這個單行的改變獲得了超過120FPS的渲染速度,而最初的渲染速度大概在50FPS。

僅使用CSS就可以提高頁面渲染速度的4個技巧

什么時候不是用will-change

雖然 will-change 的目的是為了提高性能,但如果你濫用它,它也會降低Web應用的性能。

  • 使用 will-change 表示該元素在未來會發生變化。因此,如果你試圖將 will-change 和動畫同時使用,它將不會給你帶來優化。因此,建議在父元素上使用 will-change ,在子元素上使用動畫。
    1. .my-class{ 
    2.   will-change: opacity; 
    3. .child-class{ 
    4.   transition: opacity 1s ease-in-out; 
  • 不要使用非動畫元素。當你在一個元素上使用 will-change 時,瀏覽器會嘗試通過將元素移動到一個新的圖層并將轉換工作交給GPU來優化它。如果您沒有任何要轉換的內容,則會導致資源浪費。

最后需要注意的是,建議在完成所有動畫后,將元素的 will-change 刪除。

3. 減少渲染阻止時間

今天,許多Web應用必須滿足多種形式的需求,包括PC、平板電腦和手機等。為了完成這種響應式的特性,我們必須根據媒體尺寸編寫新的樣式。當涉及頁面渲染時,它無法啟動渲染階段,直到 CSS對象模型(CSSOM)已準備就緒。根據你的Web應用,你可能會有一個大的樣式表來滿足所有設備的形式因素。

但是,假設我們根據表單因素將其拆分為多個樣式表。在這種情況下,我們可以只讓主CSS文件阻塞關鍵路徑,并以高優先級下載它,而讓其他樣式表以低優先級方式下載。

  1. <link rel="stylesheet" href="styles.css"> 
僅使用CSS就可以提高頁面渲染速度的4個技巧

將其分解為多個樣式表后:

  1. <!-- style.css contains only the minimal styles needed for the page rendering --> 
  2. <link rel="stylesheet" href="styles.css" media="all" /> 
  3. <!-- Following stylesheets have only the styles necessary for the form factor --> 
  4. <link rel="stylesheet" href="sm.css" media="(min-width: 20em)" /> 
  5. <link rel="stylesheet" href="md.css" media="(min-width: 64em)" /> 
  6. <link rel="stylesheet" href="lg.css" media="(min-width: 90em)" /> 
  7. <link rel="stylesheet" href="ex.css" media="(min-width: 120em)" /> 
  8. <link rel="stylesheet" href="print.css" media="print" /> 
僅使用CSS就可以提高頁面渲染速度的4個技巧

如您所見,根據樣式因素分解樣式表可以減少渲染阻止時間。

4. 避免@import包含多個樣式表

通過 @import,我們可以在另一個樣式表中包含一個樣式表。當我們在處理一個大型項目時,使用 @import 可以使代碼更加簡潔。

關于 @import 的關鍵事實是,它是一個阻塞調用,因為它必須通過網絡請求來獲取文件,解析文件,并將其包含在樣式表中。如果我們在樣式表中嵌套了 @import,就會妨礙渲染性能。

  1. # style.css 
  2. @import url("windows.css"); 
  3. # windows.css 
  4. @import url("componenets.css"); 
僅使用CSS就可以提高頁面渲染速度的4個技巧

與使用 @import 相比,我們可以通過多個 link 來實現同樣的功能,但性能要好得多,因為它允許我們并行加載樣式表。

僅使用CSS就可以提高頁面渲染速度的4個技巧

總結

除了我們在本文中討論的4個方面,我們還有一些其他的方法可以使用CSS來提高網頁的性能。CSS最近的一個特性: content-visibility,在未來的幾年里看起來是如此的有前途,因為它給頁面渲染帶來了數倍的性能提升。

最重要的是,我們不需要寫一條JavaScript語句就能獲得所有的性能。

我相信你可以結合以上的一些功能,為終端用戶構建性能更好的Web應用。希望這篇文章對你有用,如果你知道什么CSS技巧可以提高Web應用的性能,請在下面的評論中提及。謝謝大家。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2023-10-18 10:21:23

JavaScript前端

2024-05-06 11:12:22

圖像處理數學計算NumPy

2020-07-06 10:55:38

CIO首席信息官IT

2013-11-18 15:09:34

瀏覽器渲染速度

2017-05-18 09:16:54

前端CSS技巧

2022-10-17 07:16:08

SQL機器學習AI

2009-10-21 09:46:13

VB使用ArrayLi

2024-09-18 05:15:00

OpenCV樹莓派目標檢測

2017-02-13 09:33:32

2009-12-31 16:18:44

Silverlight

2018-07-19 06:07:22

物聯網安全物聯網IOT

2010-09-09 10:23:23

DIVCSS垂直居中

2009-12-17 09:09:48

Windows 7系統分區

2022-02-28 17:57:44

云遷移云計算

2018-11-27 09:21:41

負載均衡機器Session

2022-02-28 22:58:04

云遷移IT開發

2018-03-01 15:00:15

Oracle數據中心云計算

2018-12-03 08:04:25

負載均衡機器流量

2015-07-10 11:18:19

2020-11-19 08:00:03

打工人離職工作
點贊
收藏

51CTO技術棧公眾號

99久久精品国产观看| 一级毛片在线视频| 欧美aaa大片视频一二区| 亚洲精品视频自拍| 欧美日韩福利在线| 久久国产小视频| 亚洲图片在区色| 国产日本在线观看| 亚洲欧美另类久久久精品2019| 日本一二三区视频在线| 极品少妇一区二区三区| 91av视频在线观看| 三上悠亚国产精品一区二区三区| 欧美综合一区二区| 啦啦啦在线视频免费观看高清中文| 开心九九激情九九欧美日韩精美视频电影| 国产精品久久久久久久久男| 国产精品一区免费在线| 日韩欧美电影一区| 2017亚洲天堂1024| 精品免费在线视频| 黄色三及免费看| 国产婷婷色一区二区三区四区| 日本视频精品一区| 影音国产精品| 亚洲iv一区二区三区| 国产中文字幕一区二区三区| 欧美黄色性视频| 欧美国产视频| 亚洲男子天堂网| 蜜桃视频www网站在线观看| 欧美巨大另类极品videosbest | www.91精品| 亚洲精品视频中文字幕| 国产第一页在线| 欧美精品一区二区在线播放| 天堂av在线电影| 精品久久久久久亚洲综合网| 日本h片在线| 精品国产髙清在线看国产毛片| 日日夜夜精品一区| 欧美一卡2卡三卡4卡5免费| 成人看片免费| 亚洲国产日韩欧美在线图片| 狼人综合视频| 日韩在线视频网| 亚洲欧美日本国产| 97视频网站入口| 日韩成人三级| 国产精品国产精品| 久久精品一区| 9191国产视频| 久久久久久久久伊人| 成人网18免费软件大全| 亚洲日本欧美天堂| 日本私人网站在线观看| 7777精品伊人久久久大香线蕉的 | 二区三区四区高清视频在线观看| 欧美久久久一区| 国产丝袜在线播放| 中文字幕欧美亚洲| 国产精品久久久久久久久久白浆| 国产精品xxx视频| 日韩理论片av| 欧美中文娱乐网| 岛国一区二区三区| 福利片免费在线观看| 91成人免费在线| 女人高潮被爽到呻吟在线观看| 久久精品91久久香蕉加勒比| 国产欧美日韩精品高清二区综合区| 国产精品swag| 成人黄色一级视频| 成年人免费视频观看| 欧美精品黑人性xxxx| 高清亚洲高清| 国产在线观看一区二区三区| 久久精品99久久久| 国产羞羞视频在线观看| 欧美日韩日日夜夜| 久久久加勒比| 91久久国产婷婷一区二区| 久久影院亚洲| 五月综合激情在线| 欧美一区二区三区喷汁尤物| 一区二区三区在线免费看| 国产三区二区一区久久| 97精品电影院| av在线电影院| 久久亚洲春色中文字幕| 欧美1区2区视频| 精品少妇在线视频| 欧美视频不卡中文| 成人国产综合| 丁香婷婷久久久综合精品国产| 成人丝袜视频网| 美女做暖暖视频免费在线观看全部网址91| 日韩精品视频在线观看免费| 欧美午夜精彩| 日本大片免费看| 亚洲图片欧美一区| videos性欧美另类高清| 国产一区二区丝袜| 风间由美性色一区二区三区 | 精品国产一区二区三区性色av| 91亚洲精品久久久| 成人免费视频国产在线观看| 国外av在线| 久久久久久亚洲| 免费在线观看视频一区| 永久www成人看片| 色噜噜狠狠色综合网图区| 亚洲天堂久久| 男女羞羞视频教学| 亚洲最新视频在线| 一区二区三区四区五区在线 | 操bbb操bbb| 91福利国产精品| 美女网站色精品尤物极品姐弟| 欧美日韩三区四区| 亚洲一区二区三区美女| 四虎成人精品一区二区免费网站| 久久精品国产一区二区三区不卡| 综合色中文字幕| 亚洲欧美一级| 亚洲午夜精品福利| 欧美日韩国产片| 色琪琪久久se色| 午夜国产一区二区三区| 中文一区二区视频| 久久草av在线| 老司机精品影院| 91精品免费久久久久久久久| 国产精品国产三级国产普通话蜜臀 | 自拍偷拍免费精品| 青青青爽久久午夜综合久久午夜| 日本午夜在线| 国产精品一区二区久久精品| 中文字幕亚洲视频| 日韩一区二区三区高清在线观看| 中国成人亚色综合网站 | 久久精品国产www456c0m| 日本激情视频在线| 日韩天堂在线视频| 国产成人精品影视| 天堂中文av在线资源库| 色大师av一区二区三区| 日韩一区国产二区欧美三区| 国产视频亚洲| 精品视频在线一区二区| 精品人伦一区二区三区| 欧美午夜精品久久久久久浪潮 | 最近2019中文字幕mv免费看 | 四虎av网址| 欧美精品videosex牲欧美| 91欧美激情一区二区三区成人| 性欧美1819sex性高清| 亚洲激情一区二区三区| 亚洲国产精品免费| 九九国产精品视频| 芒果视频成人app| 丁香花在线影院观看在线播放 | 日韩三级电影网| 3d动漫啪啪精品一区二区免费| 日韩欧美在线免费观看| 国模吧视频一区| 黄色网页在线免费观看| 日本精品一区二区三区视频| 亚洲国产小视频在线观看| 国产综合一区二区| 日韩一级二级| 九热视频在线观看| 国产精品扒开腿做爽爽爽男男| 亚洲成人动漫av| 99精品国产福利在线观看免费 | 蜜桃在线一区二区三区| 婷婷电影在线观看| 131美女爱做视频| 91po在线观看91精品国产性色| 亚洲免费观看在线视频| 在线精品国产| wwwww亚洲| 国产视频一区二区三区在线播放 | 66m—66摸成人免费视频| 亚洲精品一二三四区| 欧美日韩理论| 欧美freesex黑人又粗又大| 日韩免费毛片视频| 国产精品大陆在线观看| 欧美精品xxxxbbbb| 大陆成人av片| 国产一区二区三区四区大秀| 91福利在线视频| 日本大片免费看| 国产精品视频公开费视频| 日韩欧美美女一区二区三区| 国产香蕉久久精品综合网| 欧美激情视频一区二区三区在线播放| 激情影院在线| 污网站免费看|