如(rú)何提高(gāo)CSS網頁渲染< ±效率?CSS學習(xí)過程中需要(yào)關注的(de)細節之處非常多(du×✘ō),而這(zhè)些(xiē)細節之處也(yě)是(shβεì)影(yǐng)響CSS的(de)網頁渲染效率的(de)重要(yào)因素,黑↓§(hēi)貓整理(lǐ)了(le)由前輩們提出的(de)提高(gāo)CSS網頁渲染效率的(de)≈" ≥方法,一(yī)起來(lái)學習(xí)一(yī)>下(xià)。
如(rú)何提高(gāo)CSS網頁渲染效率 三聯
1、十六進制(zhì)的(de)顔色值對(duì)位↑↑φ數(shù)與大(dà)小(xiǎo)寫
編寫十六進制(zhì)顔色值時(shí)你(nǐ)可(kě)能(•<Ω≥néng)會(huì)用(yòng)小(xiǎo)寫字母或省略成3位數(shù),關于這(z"±hè)寫法沒找到(dào)确實的(de)數(shù↔★✔)據證明(míng)對(duì)浏覽器(qì)的(de)¥≤渲染效率是(shì)否有(yǒu)影(yǐng)響,但(dàn)十六進制(zhì)的(dφπ¶§e)顔色值默認标準是(shì)大(dà)寫及6位數(shù)标注。在未知(zα←✔hī)情況下(xià)不(bù)希望冒險而降低(dī)了(le☆✘)渲染的(de)效率。
* 不(bù)贊成 - color:#f3a;
* 建議(yì)用(yòng) - color:#FF33AA;
內(nèi)蒙古網站(zhàn)制(zhì)作(zuò),內(nèi)蒙古網站(zhàn)♣•設計(jì),內(nèi)蒙古網站(zhàn)建設,λ✘π呼和(hé)浩特網站(zhàn)建設,呼和(hé)浩特網站(✔&£zhàn)制(zhì)作(zuò)、呼和(hé♦↓)浩特網站(zhàn)設計(jì)首選內(✘ nèi)蒙古呼和(hé)浩特先誠網絡科(₽ kē)技(jì)公司。先誠官網:/
2、display與visibility的(de)差異
他(tā)們用(yòng)于設置或檢索是(shì)否顯示對(duì)象。displ'$ay隐藏對(duì)象不(bù)保留物(wù)∞↑理(lǐ)空(kōng)間(jiān),visibility為(wèi)隐<€藏對(duì)象保留占據的(de)物(wù)理(lǐ)空φ←≈®(kōng)間(jiān)。當浏覽器(qì)渲染被占據的(de)物(wù)理(lǐ)空(kōng★♣γ♣)間(jiān)時(shí),會(huì)有♣&λ(yǒu)所消耗資源。
* 不(bù)贊成 - visibility:hidden;
* 建議(yì)用(yòng) - display≤λ↕:none;
3、border:none;與bor₩₩der:0;的(de)區(qū)别
和(hé)display與visibility的(de)關系類似,分(fēn)别♣€不(bù)保留與保留空(kōng)間(jiān)。更多(duō)的(de)是(shì)b♠¶↓✔order:0;盡管可(kě)以隐藏掉邊框,但(dàn)它會£>₩(huì)為(wèi)你(nǐ)保留border-color/borderλ'-style的(de)使用(yòng)權。
* 不(bù)贊成 - border:0 "★;
* 建議(yì)用(yòng) - border:none≈↓β;
4、不(bù)宜用(yòng)過小(xiǎo)的(de)背景圖片平↔↔♥←鋪
一(yī)張寬高(gāo)1px的(de)背景圖片,雖然文(wén)件(α¶×jiàn)體(tǐ)積非常之小(xiǎo),但(dàn)渲↑♦染寬高(gāo)500px的(de)闆塊需要(yào)重複平鋪2500次。提高(gāo γ)背景圖片渲染效率跟圖片尺寸及體(tǐ)積有(yǒu)關,最大(dà©)的(de)圖片文(wén)件(jiàn)體(tǐ)積保持約70KB。
* 不(bù)贊成 - 寬高(gāo)8px以下(xià)的π§£↕(de)平鋪背景圖片
* 建議(yì)用(yòng) - 衡量适中≠☆♣體(tǐ)積及尺寸的(de)背景圖片
5、慎用(yòng)IE濾鏡
IE的(de)濾鏡除了(le)比較消耗資源外(wài)也(yě)÷♥<←有(yǒu)兼容性問(wèn)題。當中有(yǒu)讓PNG透明(míng)÷₹的(de)濾鏡,可(kě)采用(yòng)GIF或JPG似透非透的(de)辦法來(l±♥♣"ái)避免使用(yòng)此濾鏡。建議(yì)隻在IE6應用(yòng)GI₹"•F透明(míng),因為(wèi)IE7以上(shàng)已經支持了(le)PNG透明(míng÷¥÷σ)。
* 不(bù)贊成,濫用(yòng)IE濾鏡因為(wèi)消耗資源外(wài"π)也(yě)有(yǒu)兼容性問(wèn)題。
* 建議(yì)用(yòng),最好(hǎo)選擇其它方法能(néng)避免使用₹&(yòng)濾鏡。
6、*{ margin:0; padd$£₹₽ing:0;}避免浏覽器(qì)樣式差異
*号通(tōng)配符把所有(yǒu)标簽都(dōu)初始化(h↓ uà)一(yī)遍,浏覽器(qì)的(de)渲染消耗一(yī)定的¥∑ε$(de)資源。有(yǒu)部分(fēn)在标簽在不(bù)同浏覽器(qì♦↑)上(shàng)幾乎無差異,或是(shì)某些(xiē)已經不(bù)±£€€推薦使用(yòng)的(de)标簽(因為(wèi)你(nǐ)不(bù)會(huì)去(qù)用αβ(yòng)它),它們不(bù)需通(tōng)配符要(yào)重新初始化€≈(huà)一(yī)遍這(zhè)樣做(zuò)能(néng)節省一(yī)點資源π∑₩'。
* 不(bù)贊成,使用(yòng)*号通(tō♣ ng)配符
* 不(bù)贊成,div span button b table等标簽納入通&±(tōng)配符控制(zhì)內(nèi)外(wài)填充樣式
* 建議(yì)用(yòng),有(yǒu)選擇性地(↔≈dì)使用(yòng)通(tōng)配符控制(zhì)內(nèi)外(wài)填充樣式。
7、不(bù)要(yào)添加額外(wài)的(de)标簽來(lái)描述class或i"©÷£d
如(rú)果你(nǐ)有(yǒu)一(yī)個(gè)選擇器(qì)是(shì)以id作(z₩≥Ωuò)為(wèi)關鍵選擇符,請(qǐng)不(bù)要(yào)添加多(duō)餘标簽名上≈♥(shàng)去(qù)。因為(wèi)ID是(shì)唯一(yī)的(de)δ¥←÷,你(nǐ)不(bù)要(yào)為(wèi)→↕了(le)一(yī)個(gè)不(bù)存在的& (de)理(lǐ)由而降低(dī)了(le&λφ)匹配的(de)效率。
* 不(bù)贊成 - button#backButton { }←≈
* 不(bù)贊成 - .menu-left #newMenuIcon {€φ }
* 建議(yì)用(yòng) - #backButton { }
* 建議(yì)用(yòng) - #newMenuIc☆γ↔©on { }
8、盡量選擇最特殊的(de)類來(lái)存±✔放(fàng)選擇器(qì)
降低(dī)系統效率的(de)一(yī)個(gè)最大(dà)原☆₩因是(shì)我們在标簽類中用(yòng)了(le)過多(duΩ' αō)的(de)選擇符。通(tōng)過添加 class 到(dào$ ↕)元素,我們可(kě)以将類别進行(xíng)再細分(fēn)為(wèi) class 類,這(zhè)樣就(jiù)不(bù)用(yòng)為(™¥wèi)了(le)一(yī)個(gè)标簽浪費(fèi♠γφ)時(shí)間(jiān)去(qù)匹配過多(duō)的(de)選☆≈φ擇符了(le)。
* 不(bù)贊成 - treeitem[mail$☆≠folder="true"] > treerow > trλeecell { }
* 建議(yì)用(yòng) - .treecelλ↔l-mailfolder { }
9、避免子(zǐ)孫選擇符
子(zǐ)孫選擇符是(shì)CSS中最耗資源的(dβα×e)選擇符。他(tā)真的(de)是(shì)↔φ±¶非常的(de)耗資源,尤其是(shì)在εε♣選擇器(qì)使用(yòng)标簽類或通(tōng)用(yòng)類的♦>(de)時(shí)候。很(hěn)多(duō)情況±δ"¥中,我們真正想要(yào)的(de)是(shì §"¥)子(zǐ)選擇符。除非有(yǒu)明(míng)确說(shuō)明($εmíng),在 UI CSS 中是(shì)嚴™×↑禁使用(yòng)子(zǐ)孫選擇符的(deα♦)。
* 不(bù)贊成 - treehe$π$ad treerow treecell { }
* 好(hǎo)一(yī)點,但(dàn)還('π♠hái)是(shì)不(bù)行(xíng)(參照(zhào)π↕←下(xià)一(yī)條) - treehe©↓×ad > treerow > treec©✔φell { }
10、标簽類中不(bù)要(yào)包含子γε₹€(zǐ)選擇符
不(bù)要(yào)在标簽類中使用(yòng)子(zǐ)選擇符。否則,每φ₩¶次元素的(de)出現(xiàn),都(dōu)會(huì)額外(wài)地≈÷(dì)增加匹配時(shí)間(jiān)。(特别¥↓♣≈是(shì)當選擇器(qì)似乎多(duō)半會(huì)被匹配的(de)情況下(x¥∏£ià))
* 不(bù)贊成 - treehead λ¥> treerow > treecell { }
* 建議(yì)用(yòng) - .treecell-header { }
11、留意所有(yǒu)子(zǐ)選擇•&×符的(de)使用(yòng)
小(xiǎo)心地(dì)使用(yòn×↕g)子(zǐ)選擇符。如(rú)果你(nǐ)能(néng)想出一(y←♠γī)個(gè)的(de)不(bù)使用(yòng)他≥•(tā)的(de)方法,那(nà)麽就(jiù)不(bù)要(yà♦®±o)使用(yòng)。特别是(shì)在 RDF 樹(shù)和(hé)菜單會(huì↔≥<→)頻(pín)繁地(dì)使用(yòng)子(zǐ)選擇符,像這(zhè)樣'©×★。
* 不(bù)贊成 - treeitem[IsImapServer="true&qu≥★¥ot;] > treerow > .tree-folderpane-icon { ©ε"₹}
請(qǐng)記住 RDF 的(de)屬性¶'是(shì)可(kě)以在模闆中被複制(zhì)的(de)!×δ利用(yòng)這(zhè)一(yī)點,我們可(k÷≈™ě)以複制(zhì)那(nà)些(xiē)想基于該屬性改變的(de)子(zǐ) XUL 元↔₽素上(shàng)的(de) RDF 屬性。
* 建議(yì)用(yòng) - .tree-folderpa ™↑↓ne-icon[IsImapServer="true"↕ ;] { }
注:本文(wén)均來(lái)自(zì)百度搜索,如(rú)涉及版權問(wèn←§)題,請(qǐng)聯系我們,我們會(huì)第一(yī)時(shí)間(jiān)解決¥↓&。