欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CSS性能優(yōu)化提高css性能的方法

  發(fā)布時(shí)間:2016-08-25 14:59:37   作者:佚名   我要評論
這篇文章主要介紹了CSS性能優(yōu)化提高css性能的方法,不規(guī)范的css會(huì)導(dǎo)致很多性能問題,所以學(xué)習(xí)掌握css性能優(yōu)化技巧是非常必要的,對css性能優(yōu)化知識(shí)感興趣的朋友一起學(xué)習(xí)吧

不規(guī)范的css會(huì)導(dǎo)致很多性能問題,這些問題可能在一些小的項(xiàng)目中不夠明顯,但是在大型項(xiàng)目中就會(huì)顯現(xiàn)出來。

css匹配原理

在優(yōu)化css之前我們需要了解下css是怎么進(jìn)行工作的,我們都知道css是由選擇器,屬性和屬性值構(gòu)成的。

我們可能會(huì)這樣寫上一行代碼

CSS Code復(fù)制內(nèi)容到剪貼板
  1. //css   
  2. .con .loulan1 p span{ displayblock; }   
  3. //html   
  4. <div class="con">   
  5.     <div class="loulan">   
  6.         <p><span>文字</span></p>   
  7.     </div>   
  8. </div>   

在這里我們對con類里面的loulan類里的p標(biāo)簽里面的span標(biāo)簽進(jìn)行樣式定義。我說出來都嫌累更別說寫起來了,其實(shí)你可以把瀏覽器看作一個(gè)人,它渲染起來肯定也會(huì)浪費(fèi)性能。

而且css的匹配原理不是從左到右的,而是從右到左的,也就是說我們的這行代碼里面,先查找到頁面里面所有的span元素形成一個(gè)集合,再在所有的span元素往上查找,看看有多span的父元素是p元素或者父元素的父元素是p元素或者......慢慢尋找,把父元素不是p元素的刪去,再往上查找看集合里的有p元素又多少它的父元素的類是loulan...瀏覽器說:我好累...

其實(shí)呢瀏覽器從右到左進(jìn)行查找的好處是為了盡早過濾掉一些無關(guān)的樣式規(guī)則和元素。并且Firefox 稱這種查找方式為 keyselector(關(guān)鍵字查詢),所謂的關(guān)鍵字就是樣式規(guī)則中最后(最右邊)的規(guī)則,上面的 key 就是 span。人家本來是為了能盡快過濾到一些無關(guān)樣式規(guī)則的,我們這里缺一層套一層,層層不停歇。所以只是想定義一個(gè)span的樣式在span上加個(gè)類豈不是更好。有人這時(shí)要說了,那樣是需要在每個(gè)元素上都加上類嗎?那肯定不是必須的,只不過我們要了解瀏覽器是怎么查找匹配的,然后結(jié)合現(xiàn)在的結(jié)構(gòu)來做出一個(gè)最好的最方便的寫法。

C/C++ Code復(fù)制內(nèi)容到剪貼板
  1. //css   
  2. .loulanSpan{ display: block; }   
  3. //html   
  4. <div class="con">   
  5.     <div class="loulan">   
  6.         <p><span class="loulanSpan">文字</span></p>   
  7.     </div>   
  8. </div>   

css選擇器權(quán)值

這里說下CSS的 ID Class Tag選擇器的權(quán)值,也就是他們的優(yōu)先級(jí),權(quán)值越大,優(yōu)先級(jí)越高

ID:100

Class:10

Tag:1

有了上面兩個(gè)的基礎(chǔ)我們再詳細(xì)說下應(yīng)該怎樣來優(yōu)化css提高性能

1,減少css嵌套,最好不要套三層以上,一般情況下塊級(jí)元素加上類,里面的內(nèi)聯(lián)元素不用加,css寫的時(shí)候塊級(jí)class套內(nèi)聯(lián)tag,這樣不僅可以減少css文件大小,還能減少性能浪費(fèi)。

2,不要在ID選擇器前面進(jìn)行嵌套,ID本來就是唯一的而且人家權(quán)值那么大,前方嵌套完全是浪費(fèi)性能。

3,建立公共樣式類,把長段相同樣式提取出來作為公共類使用,比如我們常用的清除浮動(dòng),單行超出顯示省略號(hào)等等等,當(dāng)然如果你使用sass,繼承會(huì)讓你更加方便,同時(shí)我是比較提倡使用sass的,之后肯定也會(huì)寫一篇sass的博客。

4,縮寫css,其中包括縮寫maigin,padding,顏色值等等,要是有兩個(gè)或者兩個(gè)以上的margin-****,寫成margin: * * * *有助于文件大小。

5,減少通配符*或者類似[hidden="true"]這類選擇器的使用,挨個(gè)查找所有...這性能能好嗎?當(dāng)然重置樣式這些必須的東西是不能少的。

6,有些人喜歡在類名前面加上標(biāo)簽名:p.ty_p 來進(jìn)行更加精確的定位,但是這樣往往效率更差,類名應(yīng)該在全局范圍除非公用是唯一的,所以這種做法是應(yīng)該便面的。

7,巧妙運(yùn)用css的繼承機(jī)制,在css中很多屬性是可以繼承的比如顏色字體等等,父節(jié)點(diǎn)定義了,子節(jié)點(diǎn)就無需定義。

8,拆分出公共css文件,對于比較大的項(xiàng)目我們可以將大部分頁面的公共結(jié)構(gòu)的樣式提取出來放到單獨(dú)css文件里,這樣一次下載后就放到緩存里,當(dāng)然這種做法會(huì)增加請求,具體做法應(yīng)以實(shí)際情況而定。

9,不用css表達(dá)式,可能大家接觸比較少,但是要記住的是無論我們怎么炫酷,到了最后都是靜態(tài)的,所以表達(dá)式只是讓你的代碼顯得更加炫酷,但是他對性能的浪費(fèi)可能是超乎你的想象的,因?yàn)樗⒉恢皇怯?jì)算一次,一些小的事件可能都會(huì)增加它為了有效準(zhǔn)確而進(jìn)行計(jì)算求值的次數(shù)。

10,少用css rest,可能你會(huì)覺得重置樣式是規(guī)范,但是其實(shí)其中有很多的操作是不必要不友好的,有需求有興趣的朋友可以選擇normolize.css

11,cssSprite,合成所有icon圖片,用寬高加上bacgroud-position的背景圖方式顯現(xiàn)出我們要的icon圖,這是一種十分實(shí)用的技巧,極大減少了http請求。

當(dāng)然我們還需要一些善后工作,CSS壓縮(這里提供一個(gè)在線壓縮 YUI Compressor ,當(dāng)然你會(huì)用其他工具來壓縮是十分好的),GZIP壓縮,Gzip是一種流行的文件壓縮算法,詳細(xì)做法可以谷歌或者百度。

以上所述是小編給大家介紹的CSS性能優(yōu)化提高css性能的方法 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 深入理解CSS @font-face性能優(yōu)化

    這篇文章主要介紹了深入理解CSS @font-face性能優(yōu)化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-06
  • 網(wǎng)站前端性能優(yōu)化之javascript和css篇

    之前看過Yahoo團(tuán)隊(duì)寫的一篇關(guān)于網(wǎng)站性能優(yōu)化的文章,文章是2010年左右寫的,雖然有點(diǎn)老,但是很多方面還是很有借鑒意義的。關(guān)于css的性能優(yōu)化,他提到了如下幾點(diǎn)
    2016-12-14
  • CSS代碼編寫的一些性能優(yōu)化技巧總結(jié)

    這篇文章主要介紹了CSS代碼編寫方面的一些優(yōu)化技巧總結(jié),談到了包括避免通用規(guī)則和后代選擇器等方面來使代碼更加高效,需要的朋友可以參考下
    2016-02-29
  • 網(wǎng)站性能優(yōu)化之CSS無圖片技術(shù)

    CSS無圖片技術(shù)是什么?在不使用CSS Image(通過CSS的引入的背景圖片,不包括img標(biāo)簽內(nèi)的圖片)情況下生成類似圖片效果的技術(shù);換句話的意思就是在使用純CSS生成類似圖片效果
    2014-11-20
  • CSS 網(wǎng)站性能優(yōu)化筆記

    CSS 網(wǎng)站性能優(yōu)化筆記,大家可以結(jié)合下js 網(wǎng)站性能優(yōu)化筆記。
    2011-05-24
  • 對css性能優(yōu)化的一點(diǎn)看法

    怎么會(huì)突然想起談css與性能優(yōu)化呢?其實(shí)這個(gè)問題我已經(jīng)想了很久了,想寫,但是也不知道從何寫起,今天就簡單的說一下,近段使用通過使用page Speed,對css性能優(yōu)化的一點(diǎn)看
    2009-09-16
  • css性能優(yōu)化-will-change使用詳解

    will-change通過告知瀏覽器該元素會(huì)有哪些變化,使瀏覽器提前做好優(yōu)化準(zhǔn)備,增強(qiáng)頁面渲染性能。接下來通過本文給大家分享css性能優(yōu)化-will-change,感興趣的朋友一起看看吧
    2019-05-06

最新評論