国产探花免费观看_亚洲丰满少妇自慰呻吟_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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汝南县| 阜宁县| 如东县| 城固县| 陆丰市| 泾源县| 信阳市| 新源县| 遂川县| 嵩明县| 哈巴河县| 寿光市| 河池市| 广安市| 昭觉县| 子长县| 红原县| 虎林市| 米泉市| 高台县| 蕉岭县| 千阳县| 莱州市| 思南县| 绥江县| 馆陶县| 南通市| 遂溪县| 德州市| 新民市| 全南县| 濮阳县| 武鸣县| 沂南县| 科技| 平远县| 乡城县| 灵台县| 海晏县| 定州市| 元朗区|