首頁 web前端 css教學 優化你的css

優化你的css

Nov 23, 2016 am 11:31 AM
css

系列概述

在行動web興起的年代,速度優化重新被大家重視起來,因為手機的網路環境和效能比PC端差了很多,估計大家也能感覺到用手機打開網頁的時候,能明顯感覺到頁面蝸牛般的速度。

這個系列的最佳化會以行動環境為基礎,當然絕大多數規則也同樣適合PC端。

優化的基本原則

速度優化有一些基本思路,提前總結一下

按需加載(只加載你需要的)

並行(讓串行的事情並行起來)

壓縮(通過壓縮減少體積)

緩存(利用緩存,減少請求等待)

預測(預測用戶行為,提前發出請求)

合併(把多個零散文件合併起來,減少請求)

自動化(讓速度優化變成一種常規,和自動化工具(例如gulp,grunt,fis)結合,減少成本)

進入正題,優化你的css

為什麼第一篇講css,因為css是最難優化的,圖片和js你都可以延遲加載,而css不可以,你必須在dom前面加載css,你必須接受css阻塞dom渲染的現實。

css優化之壓縮(cssshrink)

我們通常都會對css進行常規壓縮,主要做去空格和換行的工作。這裡推薦的cssshrink會做更精細的工作,cssshrink會先透過css parser對css進行解析,然後有針對性的進行最佳化。例如會吧0px和0%轉換成0,bold轉換成700,字元等級的極致壓縮,為作者點個讚。

cssshrink具體的最佳化策略,點此查看

cssshrink:GitHub地址

css優化之合併

使用gulp-concat將多個css合併在一起

不要使用

使用gulp-concat將多個css合併在一起

不要使用@import 減少阻塞和拆包分

看起來和上面有些衝突,這也是css和其它部分優化不同的地方。 一般我們大家都習慣把css放在最上面,js就放在最下面。這是一個好習慣,但是對於css來說並不是最好的選擇。

在行動端,大家非常重視首屏時間,也就是使用者看到頁面的時間。把整個頁面的css都放在最上面,大量首屏用不到的css會阻塞首屏的展現。

head只放首屏能用到的css,首屏外的css下移

css使用率

一般頁面經過多人維護後,會產生大量用不到css,大家也不敢隨意刪除,這就需要一些檢測工具🎜

unu
1.1 unu是一個用來偵測頁面哪些css沒有用到的Node.js模組
1.2 優點:提供視覺化介面,使用非常簡單,輸入url,即可查看頁面css的使用情況
1.3 缺點:目前只支援style標籤式的css,另外沒有執行頁面的js

uncss
2.1 uncss是可以把頁面css沒有用到去除的模組
2.2 優點:支援命令列和gulp、grunt插件,支援link方式,基於phantomjs,模擬瀏覽器執行,支援js執行
2.3 缺點:僅憑一個url導出的css,不具有實際價值,另外不支援style標籤

critical
3.1 critical是用來偵測首屏css有哪些沒用到的模組
3.2優點:可以輸​​入首屏寬高來檢測、有gulp、grunt插件
3.3 缺點:不支援url,只支援本地html,不支援style標籤

總結

速度優化對於開發人員來說是件降低生產力的事情,所以需要盡可能的自動化,設定好規則,無痛優化,同時避免後續惡化。


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vue中怎麼用bootstrap vue中怎麼用bootstrap Apr 07, 2025 pm 11:33 PM

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

HTML,CSS和JavaScript的角色:核心職責 HTML,CSS和JavaScript的角色:核心職責 Apr 08, 2025 pm 07:05 PM

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

了解HTML,CSS和JavaScript:初學者指南 了解HTML,CSS和JavaScript:初學者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

bootstrap怎麼設置框架 bootstrap怎麼設置框架 Apr 07, 2025 pm 03:27 PM

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

bootstrap怎麼寫分割線 bootstrap怎麼寫分割線 Apr 07, 2025 pm 03:12 PM

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

bootstrap怎麼插入圖片 bootstrap怎麼插入圖片 Apr 07, 2025 pm 03:30 PM

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

bootstrap按鈕怎麼用 bootstrap按鈕怎麼用 Apr 07, 2025 pm 03:09 PM

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

bootstrap怎麼調整大小 bootstrap怎麼調整大小 Apr 07, 2025 pm 03:18 PM

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-

See all articles