1. 程式人生 > >CSS加載性能優化

CSS加載性能優化

his this 頭部 cool 寫法 reload footer 代碼 osc

將首屏頁面要用到的CSS文件,放在頁面頭部加載,其他模塊的CSS可以使用異步加載:loadCSS 和 Preload。

關於preload,推進2篇文章給大家看下:

1、通過rel="preload"進行內容預加載: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Preloading_content

2、preload 的w3文檔: https://www.w3.org/TR/preload/

對於一些不是首屏加載的css,我們可以如下寫法:

<link rel="preload" href="path/to/haorooms.css" as="style" onload="
this.rel=‘stylesheet‘">

防止瀏覽器禁止js,保險起見,也可以如下

<link rel="preload" href="path/to/haorooms.css" as="style" onload="this.rel=‘stylesheet‘">
<noscript><link rel="stylesheet" href="path/to/haorooms.css"></noscript>

為了避免有些瀏覽器會重新調用處理程序rel=‘stylesheet‘這個屬性,我們一般推薦如下寫法:

<link rel="
preload" href="path/to/haorooms.css" as="style" onload="this.onload=null;this.rel=‘stylesheet‘"> <noscript><link rel="stylesheet" href="path/to/haorooms.css"></noscript>

為了更好的兼容rel=preload,可以使用loadCSS ,github地址: https://github.com/filamentgroup/loadCSS

因此, 不考慮瀏覽器兼容問題的情況下 (考慮兼容問題,可以使用loadCss,這裏不多演示),我們對上面代碼再次進行優化:

<head>
  <link rel="stylesheet" href="/首屏加載css.css">
  <link rel="preload" href="/不是首屏加載的css.css" as="style" onload="this.onload=null;this.rel=‘stylesheet‘">
</head>
<body>
  <header>…</header>
  <main>…</main>
  <section class="comments">…</section>
  <section class="about-me">…</section>
  <footer>…</footer>
</body>

轉自:https://www.tuicool.com/articles/Yfeeu2J

CSS加載性能優化