利用 CSS Overview 皮膚重構優化你的網站

chokcoco發表於2021-10-20

本文將向大家介紹 Chrome 87 開始支援的 CSS Overview Panel,並且介紹如何更好地利用這個皮膚。通過 CSS Overview Panel,可能可以幫助我們:

  1. 更準確(高保真)的還原設計稿,輔助設計走查環節
  2. 更好的精簡我們的 CSS 程式碼
  3. 輔助進行網站的可訪問性提升
  4. 對網站樣式的整體概況有更清晰的認識

什麼是 CSS Overview Panel

CSS Overview Panel 直譯過來就是 CSS 概覽皮膚,它是從 Chrome 87 開始支援的一項實驗室功能。

屬於控制檯 DevTool 下的一個 TAB:

預設這個實驗室功能是關閉的,也就是我們開啟控制檯是看不到的,那麼我們如何開啟呢?兩種方式:

  1. 從 DevTools 的 Setting 下的 Experiment 選單中,啟用 CSS Overview
  2. 開啟 DevTools,通過 Cmd + Shift + P 撥出 Command Menu,輸入 Show CSS Overview

CSS Overview Panel 有什麼功能?

OK,開啟 CSS Overview 之後,去到你希望審查的網站下。點選按鈕:

幾秒之後,該外掛機會對當前頁面的 CSS 進行分析,輸出一份簡單的報告(有點類似於 LightHouse):

這裡我找到了一個 GIF 圖,進行一個簡單的演示:

可以看到,整個皮膚分為幾個模組(下面我切到 DevTool 中文模式貼圖展示):

  1. Overview Summary(整體概述):整體 CSS 資訊概況,例如元素數量,樣式表數量,樣式規則數量等等。

  1. Colors(使用顏色概況):羅列出了頁面中使用到的所有顏色相關資訊,背景色使用了哪些、文字色使用了哪些、邊框使用了哪些顏色、文字與其背景色顏色對比度,可以通過點選追溯到具體某個顏色使用在哪個元素

  1. Font info(字型資訊):衡量字型的使用情況以及它們在樣式表中出現的頻率。包括字型重量和行高指標,可以選擇字型指標來顯示受影響的元素,可以通過點選溯源

  1. Unused declarations(未使用的樣式規則):未使用的 CSS 規則,可以通過點選追溯到具體樣式程式碼。

  1. Media queries(媒體查詢):CSS媒體查詢的細節(如最小/最大寬度值)以及它們在樣式表中出現的頻率。可以通過點選檢視具體媒體查詢相關程式碼

如何更好的利用 CSS Overview?

那麼,我們應該在什麼時候開始使用它或者它能夠幫助我們做些什麼呢?我個人認為一些比較核心的點:

更準確(高保真)的還原設計稿,輔助設計走查環節

在對設計稿還原有更高要求的頁面上,在設計走查環節,非常適合利用這個皮膚去檢視頁面的顏色使用、字型使用是否合乎規範。

因為通常設計師會制定一系列規範,譬如什麼地方用什麼顏色/字型。但是由於前端在重構設計稿的過程中,因為某些原因(譬如取色器不夠精確,想當然的認為某些色值是黑色或者白色)。

那麼利用 Color 和 Font 模組,可以明確的找到不在規範內的顏色或字型,進行修改。

更好的精簡我們的 CSS 程式碼

這一點非常好理解,利用 Unused declarations(未使用的樣式規則)模組,我們可以很好的找到未被使用的 CSS 程式碼,在確定後剔除掉。

輔助進行網站的可訪問性提升

這一點我認為還是非常有意義的。可訪問性(Accessibility),又稱為 A11Y 我網站開發過程中非常重要的一環。它的另外一個叫法是無障礙設計

提升網站可訪問性的通常意義在於幫助一些殘障人士,更好的使用我們的網站。當然,做好可訪問性相關的內容其實是對所有人都更友善的。因為在一些,特殊場景下,我們也可能是殘障人士,如下圖:

而在 CSS Overview 皮膚中,唯一與可訪問性相關的是 Color 模組下的對比度(Contrast issues):

這裡它羅列出來了頁面上有文字展示的地方,它的文字顏色和背景顏色是否符合 WCAG AA 規範所規定需要達到的對比度數值。

最權威的網際網路無障礙規範 —— WCAG AA規範規定,所有重要內容的色彩對比度需要達到 4.5:1 或以上(字號大於18號時達到 3:1 或以上),才算擁有較好的可讀性。

這裡就有一個概念 -- 顏色對比度,簡單地說,描述就是兩種顏色在亮度(Brightness)上的差別。運用到我們的頁面上,大多數的情況就是背景色(background-color)與內容顏色(color)的對比差異。

借用一張圖 -- 知乎 -- 助你輕鬆做好無障礙的15個UI設計工具推薦

很明顯,上述最後一個例子,文字已經非常的不清晰了,正常使用者都已經很難看得清了。

而利用好 CSS Overview 裡面的這個功能,我們可以輕鬆的找到不達標的地方,進行修改,增強我們頁面的可訪問性。

關於 Web 可訪問性的更多內容,你可以瀏覽我的這篇文章獲取更多資訊 -- 前端優秀實踐不完全指南

對網站樣式的整體概況有更清晰的認識

最後這一點,通過整體皮膚的資訊,我們能夠對我們的網站有一個更深刻的認識,它也可以反過來輔助我們對頁面進行各項優化,指導我們的效能優化、頁面重構的新方向。

最後

當然,CSS Overview Panel 的功能遠不止上述幾點,還有更多場景等待我們繼續挖掘。我認為這個 Panel 是我們開啟了就不願意再關掉的一個功能,合理利用,多多利用它,能夠成為我們開發環節中非常好的一個工具。

本文到此結束,希望對你有幫助 :)

想 Get 到最有意思的 CSS 資訊,千萬不要錯過我的公眾號 -- iCSS前端趣聞 ?

更多精彩 CSS 技術文章彙總在我的 Github -- iCSS ,持續更新,歡迎點個 star 訂閱收藏。

如果還有什麼疑問或者建議,可以多多交流,原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望告知。

相關文章