高效能CSS(三)

2021-09-29 10:16:59 字數 878 閱讀 2482

css選擇器對效能的影響源於瀏覽器匹配選擇器和文件元素時所消耗的時間,所以優化選擇器的原則是應盡量避免需要消耗更多匹配時間的選擇器。而在這之前我們需要了解css選擇器匹配的機制,如例子的子選擇器規則:

#header > a
我們中的大多數人都是從左到右的閱讀習慣,可能也會習慣性的設定瀏覽器也是從左到右的方式進行匹配規則,因為會推測這條規則的開銷並不高。我們這樣假象瀏覽器會像這樣的方式工作:找到唯一的id為header為的元素,然後把這個樣式規則應用到直系子元素中的a元素上。我們知道文件中只有乙個id為header的元素,並且它只有幾個a型別的子節點,所以這個css選擇器應該相當高效。

事實上,卻恰好相反,css選擇器是從右到左進行規則匹配。了解這個機制後,例子中看似高效的選擇器在實際中的匹配開銷是很高的,瀏覽器必須遍歷頁面中所有的a元素並且確定其父元素的id是否為header。

如果把例子的子選擇器改為後代選擇器則會開銷更多,在遍歷頁面中所有a元素後還需向其上級遍歷直到根節點。

#header  a
理解了css選擇器從右到左匹配的機制後,可以理解選擇器中最右邊的規則往往決定了瀏覽器繼續左移匹配的工作量,我們把最右邊選擇規則稱之為關鍵選擇器。

通配選擇器使用 * 符合表示,可匹配文件中的每乙個元素。如下例規則將所有元素的字型大小設定為20px:

*
通配選擇器作用於所有的元素,如規則最右邊為萬用字元:

.selected *
瀏覽器匹配文件中所有的元素後分別向上逐級匹配class為selected的元素,直到文件的根節點,因此其匹配開銷是非常大的,通常比開銷最小的id選擇器高出1~3個數量級,所以應避免使用關鍵選擇器是通配選擇器的規則。

高效能的CSS

高效能的css 即 檔案載入更快,執行的速度更快,讓頁面盡快地展現在終端使用者的面前。1 使用高效地css選擇器 能被瀏覽器快速解析和匹配的css選擇器就是高效地選擇器。css選擇器的匹配原理和我們習慣的匹配過程是相反的,它是從右到左進行匹配的。高效的選擇器意味著瀏覽器匹配選擇器時更快速,匹配查詢次...

高效能css動畫

關於流暢度,主要體現在前端動畫中,在現有的前端動畫體系中,通常有兩種模式 js動畫與css3動畫。js動畫是通過js動態改寫樣式實現動畫能力的一種方案,在pc端相容低端瀏覽器中不失為一種推薦方案。而在移動端,我們選擇效能更優瀏覽器原生實現方案 css3動畫 目前對提公升移動端css3動畫體驗的主要方...

CSS效能分析,如何優化CSS提高效能

其實,不規範的css會導致很多效能問題,這些問題可能在一些小的專案中不夠明顯,但是在大型專案中就會顯現出來。在優化css之前我們需要了解下css是怎麼進行工作的,我們都知道css是由選擇器,屬性和屬性值構成的。我們可能會這樣寫上一行 css con loulan1 p span html div c...