国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS 的加載及加載順序簡介

2024-07-11 08:25:34
字體:
來源:轉載
供稿:網友

前言

關于前端css性能優化,網上很多類似文章,我之前也寫過,《 網站前端性能優化之javascript和css 》,感興趣的可以去看下。今天我們舊事重提,再來談談css的加載,及加載順序。

通常的css加載順序

一般情況下,我們css樣式表是放在頭部,同時為了減少請求,我們通常對css進行一個合并壓縮。 目前我們css一般是如下加載的:

<head> <link rel="stylesheet" href="/all-of-my-styles.css"></head><body> …content…</body>

這樣可以,但是有幾個性能問題,我們可以繼續優化:

問題:

所有的css都合并壓縮成一個文件,放在頁面頭部加載。可能首屏我們僅僅用到一點點css,卻在頭部加載了所有的css,造成資源的不合理加載和浪費。假如css很大,嚴重影響網頁加載速度和首屏顯示速度。

換個思路

假如不合并,單個css壓縮引用,文件大小是小了,但是請求數量多了一些。 權衡二者,并且進行性能測試對比,發現如下寫法確實比我們所有css放在頭部一次性加載,首屏顯示速度要快些:

<head></head><body> <!-- HTTP/2 push this resource, or inline it, whichever's faster --> <link rel="stylesheet" href="/site-header.css"> <header>…</header> <link rel="stylesheet" href="/article.css"> <main>…</main> <link rel="stylesheet" href="/comment.css"> <section class="comments">…</section> <link rel="stylesheet" href="/about-me.css"> <section class="about-me">…</section> <link rel="stylesheet" href="/site-footer.css"> <footer>…</footer></body>

但是還是有性能可以優化的地方!

例如:

我們首屏僅僅顯示了頭部和文章,其他模塊首屏不顯示。那么,其他模塊的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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上虞市| 井研县| 彩票| 夹江县| 珠海市| 张家界市| 永登县| 阿瓦提县| 安顺市| 启东市| 鄂伦春自治旗| 高陵县| 夏河县| 灌云县| 浪卡子县| 且末县| 治多县| 澜沧| 沾化县| 陈巴尔虎旗| 称多县| 咸宁市| 达孜县| 稷山县| 改则县| 缙云县| 喜德县| 兰坪| 枣阳市| 尉氏县| 万荣县| 新晃| 井研县| 金乡县| 靖江市| 嘉峪关市| 富阳市| 南澳县| 博爱县| 临江市| 浦东新区|