搜尋
首頁web前端css教學CSS解讀前端效能優化的具體分析

CSS解讀前端效能優化的具體分析

Jul 27, 2017 am 09:43 AM
css具體

避免使用@import

外部的CSS檔案中使用@import會讓頁面在載入時增加額外的延遲。

一個CSS檔案first.css包含了以下內容:@import url(“second.css”)。瀏覽器先把first.css下載、解析、執行後,發現並處理第二個檔案second.css。簡單的 解決方法是使用標記來替代@import,並行下載CSS文件,從而加快頁面加載速度.

避免AlphaImageLoader濾鏡

什麼是AlphaImageLoader? IE獨有屬性,用於修正7.0以下版本中顯示PNG圖片的半透明效果。

問題:瀏覽器載入圖片時它會終止內容的呈現並且凍結瀏覽器,在每一個元素(不只是圖片)它都會運算一次,增加了記憶體開支。

解決方案:1、PNG8格式來代替,這種格式能在IE中很好地運作。

              2、確實需要使用AlphaImageLoader,使用底線_filter,使IE7以上版本的使用者無效。

避免CSS表達式

範例:

background-color: expression((new Date()).getHours()%2?"#FFFFFF": "#000000" );

CSS表達式是動態設定CSS屬性的強大(但危險)方法。 Internet Explorer從第5個版本開始支援CSS表達式。

問題:在頁面顯示和縮放、捲動、移動滑鼠時都會要 重新計算一次。給CSS表達式增加一個計數器可以追蹤表達式的計算頻率。在頁面中隨便移動滑鼠都可以輕鬆達到10000次以上的計算量。

解決:減少CSS表 達式計算次數的方法就是使用一次性的表達式,它在第一次運行時將結果賦給指定的樣式屬性,並用這個屬性來代替CSS表達式。如果樣式屬性必須在頁面週期內 動態地改變,使用事件句柄來取代CSS表達式是一個可行辦法。如果必須使用CSS表達式,一定要記住它們要計算成千上萬次並且可能會對你頁面的性能產生影 響。

避免通配選擇器

在學習CSS初期,我們在做網頁的時候經常會使用*{margin:0;padding:0;},以此來消除標籤的默認佈局和不同瀏覽器對於同一個標籤的渲染。

而我們有時候會看到reset的寫法。

body,p,h1,h2,h3,h4,h5,input,select,textarea,table{margin:0;padding:0;}

這些人為什麼要這麼寫,下面的內容我們會得到答案

例:

#header > a {font-weight:blod;}

##CSS選擇器是從右到左進行規則比對。所以在瀏覽器中這條語句實作為:


瀏覽器遍歷頁面中所有的a元素->其父元素的id是否為header。 範例:

#header  a {font-weight:blod;}

這個例子比上一個消耗的時間更多

#################### 遍歷頁面中所有a元素->向其上級遍歷直到根節點##################################### ###########範例:######
.selected * {color: red;}
#############

#符合文件中所有的元素->分別向上逐級匹配class為selected的元素,直到文檔的根節點

#所以我們應該避免使用萬用選擇器。

#移除無符合的樣式

第一,刪除無用的樣式後可以縮減樣式檔案的體積,加快資源下載速度;

第二,對於瀏覽器而言,所有的樣式規則的都會被解析後索引起來,即使是目前頁面無符合的規則。移除無符合的規則,減少索引項,加快瀏覽器尋找速度;

避免單一規則的屬性選擇器

瀏覽器符合所有的元素->檢查是否有href屬性且herf屬性值等於”#index」—>分別向上逐級匹配class為selected的元素,直到文檔的根節點。

避免類別正規的屬性選擇器

正規表示式匹配會比基於類別的匹配會慢很多。大部分情況下我們應盡量避免使用 *=, |=, ^=, $=, 和 ~=語法的屬性選擇器。

以上是CSS解讀前端效能優化的具體分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
錨定位只是不關心來源訂單錨定位只是不關心來源訂單Apr 29, 2025 am 09:37 AM

錨定定位避開HTML源順序的事實是如此之高,因為它在內容和演示文稿之間的另一個關注點是另一個分離的事實。

保證金是什麼:40px 100px 120px 80px表示?保證金是什麼:40px 100px 120px 80px表示?Apr 28, 2025 pm 05:31 PM

文章討論了CSS保證金屬性,特別是“保證金:40px 100px 120px 80px”,其應用程序以及對網頁佈局的影響。

什麼是不同的CSS邊框特性?什麼是不同的CSS邊框特性?Apr 28, 2025 pm 05:30 PM

本文討論了CSS邊境屬性,重點是自定義,最佳實踐和響應能力。主要論點:邊境 - 拉迪烏斯(Border-Radius)對響應式設計最有效。

什麼是CSS背景,列出屬性?什麼是CSS背景,列出屬性?Apr 28, 2025 pm 05:29 PM

本文討論了CSS背景屬性,它們在增強網站設計方面的用途以及避免的常見錯誤。重點是使用背景大小的響應式設計。

什麼是CSS HSL顏色?什麼是CSS HSL顏色?Apr 28, 2025 pm 05:28 PM

文章討論了CSS HSL顏色,其在網絡設計中的使用以及比RGB的優勢。主要重點是通過直觀的顏色操縱來增強設計和可訪問性。

我們如何在CSS中添加評論?我們如何在CSS中添加評論?Apr 28, 2025 pm 05:27 PM

本文討論了CSS中評論的使用,詳細介紹了單線和多行評論語法。它認為註釋可以增強代碼的可讀性,可維護性和協作,但如果無法正確管理,可能會影響網站性能。

什麼是CSS選擇器?什麼是CSS選擇器?Apr 28, 2025 pm 05:26 PM

本文討論了CSS選擇器,其類型和用於造型HTML元素的用法。它比較ID和類選擇器,並與復雜的選擇器解決性能問題。

哪種類型的CSS持有最高優先級?哪種類型的CSS持有最高優先級?Apr 28, 2025 pm 05:25 PM

本文討論了CSS優先級,重點是具有最高特異性的內聯風格。它解釋了特異性級別,覆蓋方法和用於管理CSS衝突的工具。

See all articles

熱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

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

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具