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