分享容易忽視的CSS小知識(shí)-創(chuàng)新互聯(lián)
本篇內(nèi)容主要講解“分享容易忽視的CSS小知識(shí)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“分享容易忽視的CSS小知識(shí)”吧!
后代選擇器
你知道樣式選擇器中間的小空格嗎?它實(shí)際上還有一個(gè)名字,它的名字是后代選擇器。
布局,繪制和渲染層合并
這些術(shù)語(yǔ)更多地和瀏覽器渲染有關(guān),但它仍然很重要,因?yàn)橐恍?CSS 屬性會(huì)影響渲染進(jìn)程的不同步驟。
有句話叫做“方法不對(duì),努力白費(fèi)”所有的前端大神都有自己的學(xué)習(xí)方法,而學(xué)web前端的學(xué)習(xí)也基本一致,而對(duì)于一個(gè)什么都不懂的初學(xué)者,根本不會(huì)知道該怎么學(xué),這也是造成失敗的最直接原因。所以學(xué)web前端一定要有人指點(diǎn)。如果你處在迷茫期,找不到方向。可以加入我們的前端學(xué)習(xí)交流qun: 784783012 。有任何不明白的東西隨時(shí)來(lái)問(wèn)我。點(diǎn)擊: 前端學(xué)習(xí)圈
1. 布局
布局步驟負(fù)責(zé)計(jì)算元素在屏幕上占用的空間大小。修改 CSS 中的“布局”屬性(例如:寬度、高度)意味著瀏覽器需要檢查其他所有的元素并“重排”頁(yè)面,也就是說(shuō)重新繪制受影響的區(qū)域并將他們合并在一起。
2. 繪制
此過(guò)程是為元素的可視化部分(顏色、邊框等)填充像素的過(guò)程。繪制元素通常在多個(gè)圖層上完成。
改變“繪制”屬性不會(huì)影響頁(yè)面的布局,所以瀏覽器會(huì)跳過(guò)布局步驟但仍然會(huì)執(zhí)行繪制。
繪制經(jīng)常是整個(gè)渲染進(jìn)程中代價(jià)最昂貴的部分。
3. 渲染成合并
在渲染層合并這個(gè)步驟中,瀏覽器需要按照正確的順序繪制圖層。因?yàn)橛幸恍┰貢?huì)發(fā)生重疊,所以這個(gè)步驟對(duì)于確保元素按照預(yù)期順序顯示非常重要。
如果你改變了一個(gè)既不需要布局也不需要繪制的 CSS 屬性,那么瀏覽器只需要做渲染層合并操作。
CSS 性能
后代選擇器或許會(huì)非常耗能
取決于程序的大小,僅僅使用沒(méi)有什么特殊性的后代選擇器代價(jià)會(huì)非常昂貴。瀏覽器會(huì)檢查每個(gè)后代元素是否匹配,因?yàn)楹蟠@種關(guān)系不僅限于父子之間。
例如:
瀏覽器會(huì)評(píng)估頁(yè)面上的所有鏈接,最終定位到那個(gè)實(shí)際位于 #nav
元素內(nèi)的鏈接。
一種更高效的方法是在 #nav
元素中的每個(gè) 元素上添加一個(gè)特定的
.navigation-link
選擇器。
瀏覽器從右到左讀取選擇器
我覺(jué)得我應(yīng)該知道這個(gè),因?yàn)檫@個(gè)聽(tīng)起來(lái)很重要,但我并不知道……
解析 CSS 時(shí),瀏覽器會(huì)從右到左解析 CSS 選擇器。
- 元素包裹的
元素。
從上面的步驟我們可以看出,靠右的選擇器越具體,瀏覽器過(guò)濾和解析 CSS 屬性的效率就越高。
為了提高上面例子的性能,我們可以在
標(biāo)簽上面添加類似
.container-link-style
的類名來(lái)替換.container ul li a
。盡可能避免修改布局
更改某些 CSS 屬性可能會(huì)需要更新整個(gè)頁(yè)面的布局。
例如,
width
、height
、top
、left
(也稱為“幾何屬性”)等屬性就需要重新計(jì)算布局和更新渲染樹。如果在大量的元素上更改這些屬性,那么計(jì)算和更新他們的位置/大小需要花費(fèi)很長(zhǎng)的時(shí)間。
小心繪制的復(fù)雜性
在繪制方面,一些 CSS 屬性(例如:blur)會(huì)比其他屬性花費(fèi)更高的代價(jià)。可以考慮使用其他更有效的方法來(lái)實(shí)現(xiàn)相同的效果。
代價(jià)高昂的 CSS 屬性
一些 CSS 屬性會(huì)比其他屬性花費(fèi)更高的代價(jià),這意味著他們需要更長(zhǎng)的時(shí)間來(lái)繪制。
這并不意味著你根本不應(yīng)該使用他們,但你應(yīng)該明白,如果一個(gè)元素使用其中某些屬性并將渲染數(shù)百次,會(huì)影響到渲染性能。
順序
順序在 CSS 文件中很重要
我們會(huì)發(fā)現(xiàn)影響渲染效果的不是選擇器在 HTML 代碼中出現(xiàn)的順序,而是選擇器在 CSS 文件中出現(xiàn)的順序。
評(píng)估 CSS 性能的一個(gè)好方法是使用瀏覽器的開發(fā)者工具。
當(dāng)前文章:分享容易忽視的CSS小知識(shí)-創(chuàng)新互聯(lián)
標(biāo)題URL:http://www.xueling.net.cn/article/diidjg.html