日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

前言

大家都知道,對(duì)于網(wǎng)站來(lái)說(shuō),性能至關(guān)重要,css作為頁(yè)面渲染和內(nèi)容展現(xiàn)的重要環(huán)節(jié),影響著用戶對(duì)整個(gè)網(wǎng)站的第一體驗(yàn)。因此,與其相關(guān)的性能優(yōu)化是不容忽視的。

對(duì)于性能優(yōu)化我們常常在項(xiàng)目完成時(shí)才去考慮,經(jīng)常在項(xiàng)目的末期,性能問(wèn)題才會(huì)暴露出來(lái),此時(shí)才進(jìn)行一些相關(guān)的性能優(yōu)化。

如何提升 CSS 性能的小知識(shí)

 

其實(shí),如果我們從一開(kāi)始編碼,就注意一些細(xì)節(jié)問(wèn)題,后面的工作量會(huì)小很多,下面我們來(lái)看看在書(shū)寫(xiě)CSS時(shí),我們可以注意哪些細(xì)節(jié),從而來(lái)提升CSS處理性能。

先來(lái)看看這段代碼:

<style> 
</style> 
... 
<div class="red blue">這是什么顏色</div> 
<div class="blue red">這是什么顏色</div>

你覺(jué)得這兩塊內(nèi)容文字各是什么顏色呢???

答案,文章最后看圖。

回到主題:如何提升 CSS 性能?

一、減少 后代選擇器 的使用

如何提升 CSS 性能的小知識(shí)

 

先來(lái)了解一下后代選擇器

div p { 
 color: red; 
 font-size: 14px; 
}

樣式選擇器中間的空格是什么?它的名字是 —— 后代選擇器。如果項(xiàng)目很大,后代選擇器非常多,這時(shí)候就很耗性能。所以不建議使用沒(méi)有意義的后代選擇器,如:

.div p { 
 // ... 
}

后代選擇器為什么會(huì)更消耗性能呢?

因?yàn)闉g覽器首先會(huì)找到所有 p 標(biāo)簽,然后再向上查找包含 class 為 div 標(biāo)簽。這樣一來(lái)如果代碼中有很多 p 標(biāo)簽,無(wú)疑是會(huì)做很多重復(fù)工作的。

二、減少使用 html 標(biāo)簽來(lái)定義 CSS 的方式,換成使用具體的 class

如何提升 CSS 性能的小知識(shí)

 

瀏覽器會(huì)從右到左解析 CSS 選擇器

.box div p a { 
 // ... 
}

瀏覽器會(huì)對(duì)上面的例子做如下的步驟處理:

1、首先找到頁(yè)面所有的 <a> 元素

2、然后向上找到被 <p> 元素包裹的 <a> 元素

3、再向上查找到一直到 .box 的元素

從上面的步驟我們可以看出,越靠右的選擇器越具有唯一性,瀏覽器解析 CSS 屬性的效率就越高。

所以一定換成使用具體的 class 編寫(xiě) CSS 代碼,可以有效的提升性能。

三、避免 reflow 風(fēng)險(xiǎn)

如何提升 CSS 性能的小知識(shí)

 

我們知道修改某些 CSS 屬性會(huì)導(dǎo)致整個(gè)頁(yè)面布局的重繪( repaint )/重排( reflow )。

重繪 的速度遠(yuǎn)快于 重排,所以避免 重排 更重要

重排會(huì)導(dǎo)致瀏覽器重新計(jì)算整個(gè)文檔,重新構(gòu)建渲染樹(shù),這一過(guò)程會(huì)降低瀏覽器的渲染速度。如下所示,有很多操作會(huì)觸發(fā)重排,我們應(yīng)該避免頻繁觸發(fā)這些操作。

1、改變font-size和font-family

2、改變?cè)氐膬?nèi)外邊距

3、通過(guò)JS改變CSS類

4、通過(guò)JS獲取DOM元素的位置相關(guān)屬性(如width/height/left等)

5、CSS偽類激活

6、滾動(dòng)滾動(dòng)條或者改變窗口大小

此外,我們還可以通過(guò)CSS Trigger15查詢哪些屬性會(huì)觸發(fā)重排與重繪。 值得一提的是,某些CSS屬性具有更好的重排性能。如使用Flex時(shí),比使用inline-block和float時(shí)重排更快,所以在布局時(shí)可以優(yōu)先考慮Flex。

如果大量的元素更改這些屬性,那么計(jì)算和更新他們的位置/大小需要花費(fèi)很長(zhǎng)的時(shí)間。

四、減少某些 消耗性能的 CSS 屬性

如何提升 CSS 性能的小知識(shí)

 

有一些 CSS 屬性會(huì)比其他屬性消耗能多的性能,即瀏覽器解析這些屬性需要花費(fèi)更多的時(shí)間。 如:border-radius、box-shadow、filter、:nth-child等。當(dāng)然這些屬性我們經(jīng)常使用,有些無(wú)法避免。要做出適當(dāng)?shù)娜∩帷?/p>

比如:nth-child,第一個(gè)元素你可以換成:first-child,最后一個(gè)可以換成:last-child。

文章最開(kāi)始代碼實(shí)例圖:

如何提升 CSS 性能的小知識(shí)

 

喜歡小編或者覺(jué)得小編文章對(duì)你有幫助的,可以點(diǎn)擊一波關(guān)注哦!

分享到:
標(biāo)簽:CSS
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定