1. 程式人生 > 其它 >CSS 優化和提高效能的方法有哪些?

CSS 優化和提高效能的方法有哪些?

載入效能

css壓縮:將寫好的css進行打包壓縮,可以減小檔案體積。

css單一樣式:當需要下邊距和左邊距的時候,很多時候會選擇使用 margin:top 0 bottom 0;但margin-bottom:bottom;margin-left:left;執行效率會更高。

減少使用@import,建議使用link,因為後者在頁面載入時一起載入,前者是等待頁面載入完成之後再進行載入。

選擇器效能

  • 關鍵選擇器(key selector)。選擇器的最後面的部分為關鍵選擇器(即用來匹配目標元素的部分)。CSS選擇符是從右到左進行匹配的。

當使用後代選擇器的時候,瀏覽器會遍歷所有子元素來確定是否是指定的元素等等;

  • 如果規則擁有ID選擇器作為其關鍵選擇器,則不要為規則增加標籤。過濾掉無關的規則(這樣樣式系統就不會浪費時間去匹配它們了)。

  • 避免使用通配規則,如*{}計算次數驚人,只對需要用到的元素進行選擇。

  • 儘量少的去對標籤進行選擇,而是用class。

  • 儘量少的去使用後代選擇器,降低選擇器的權重值。後代選擇器的開銷是最高的,儘量將選擇器的深度降到最低,最高不要超過三層,更多的使用類來關聯每一個標籤元素。

  • 瞭解哪些屬性是可以通過繼承而來的,然後避免對這些屬性重複指定規則。

渲染效能

  • 慎重使用高效能屬性:浮動、定位。

  • 儘量減少頁面重排、重繪。

  • 去除空規則:{}。空規則的產生原因一般來說是為了預留樣式。去除這些空規則無疑能減少css文件體積。

  • 屬性值為0時,不加單位。

  • 屬性值為浮動小數0.**,可以省略小數點之前的0。

  • 標準化各種瀏覽器字首:帶瀏覽器字首的在前。標準屬性在後。

  • 不使用@import字首,它會影響css的載入速度。

  • 選擇器優化巢狀,儘量避免層級過深。

  • css雪碧圖,同一頁面相近部分的小圖示,方便使用,減少頁面的請求次數,但是同時圖片本身會變大,使用時,優劣考慮清楚,再使用。

  • 正確使用display的屬性,由於display的作用,某些樣式組合會無效,徒增樣式體積的同時也影響解析效能。

  • 不濫用web字型。對於中文網站來說WebFonts可能很陌生,國外卻很流行。web fonts通常體積龐大,而且一些瀏覽器在下載web fonts時會阻塞頁面渲染損傷效能。

可維護性、健壯性

將具有相同屬性的樣式抽離出來,整合並通過class在頁面中進行使用,提高css的可維護性。

樣式與內容分離:將css程式碼定義到外部css中。