核心競爭力
相關(guān)列表

CSS的渲染效率---書寫高效的CSS!

作者:億星網(wǎng)絡(luò)科技 時(shí)間:2009-2-5 0:25:55

根據(jù)一些CSS寫作經(jīng)驗(yàn),如何提高渲染效率及所占用消耗的資源,我們來淺談一下CSS的渲染效率,書寫高效的CSS。

1、十六進(jìn)制的顏色值對位數(shù)與大小寫

編寫十六進(jìn)制顏色值時(shí)你可能會(huì)用小寫字母或省略成3位數(shù),關(guān)于這寫法沒找到確實(shí)的數(shù)據(jù)證明對瀏覽器的渲染效率是否有影響,但十六進(jìn)制的顏色值默認(rèn)標(biāo)準(zhǔn)是大寫及6位數(shù)標(biāo)注。在未知情況下不希望冒險(xiǎn)而降低了渲染的效率。

* 不贊成 - color:#f3a;

* 建議用 - color:#FF33AA;

2、display與visibility的差異

他們用于設(shè)置或檢索是否顯示對象。display隱藏對象不保留物理空間,visibility為隱藏對象保留占據(jù)的物理空間。當(dāng)瀏覽器渲染被占據(jù)的物理空間時(shí),會(huì)有所消耗資源。

* 不贊成 - visibility:hidden;

* 建議用 - display:none;

3、border:none;與border:0;的區(qū)別

和display與visibility的關(guān)系類似,分別不保留與保留空間。更多的是border:0;盡管可以隱藏掉邊框,但它會(huì)為你保留border-color/border-style的使用權(quán)。

* 不贊成 - border:0;

* 建議用 - border:none;

4、不宜過小的背景圖片平鋪

一張寬高1px的背景圖片,雖然文件體積非常之小,但渲染寬高500px的板塊需要重復(fù)平鋪2500次。提高背景圖片渲染效率跟圖片尺寸及體積有關(guān),最大的圖片文件體積保持約70KB。

* 不贊成 - 寬高8px以下的平鋪背景圖片

* 建議用 - 衡量適中體積及尺寸的背景圖片

5、IE的濾鏡

IE的濾鏡除了比較消耗資源外也有兼容性問題。當(dāng)中有令PNG透明的濾鏡,可采用GIF或JPG似透非透的辦法來避免使用此濾鏡。建議只在IE6應(yīng)用GIF透明,因?yàn)镮E7以上已經(jīng)支持了PNG透明。

* 不贊成,濫用IE濾鏡因?yàn)橄馁Y源外也有兼容性問題。

* 建議用,最好選擇其它方法能避免使用濾鏡。

6、*{ margin:0; padding:0;}避免瀏覽器樣式差異

*號(hào)通配符把所有標(biāo)簽都初始化一遍,瀏覽器的渲染消耗一定的資源。有部分在標(biāo)簽在不同瀏覽器上幾乎無差異,或是某些已經(jīng)不推薦使用的標(biāo)簽(因?yàn)槟悴粫?huì)去用它),它們不需通配符要重新初始化一遍這樣做能節(jié)省一點(diǎn)資源。

* 不贊成,使用*號(hào)通配符

* 不贊成,div span button b table等標(biāo)簽納入通配符控制內(nèi)外填充樣式

* 建議用,有選擇性地使用通配符控制內(nèi)外填充樣式。

7、不要添加額外的標(biāo)簽來描述class或id

如果你有一個(gè)選擇器是以id作為關(guān)鍵選擇符,請不要添加多余標(biāo)簽名上去。因?yàn)镮D是唯一的,你不要為了一個(gè)不存在的理由而降低了匹配的效率。

* 不贊成 - button#backButton { }

* 不贊成 - .menu-left #newMenuIcon { }

* 建議用 - #backButton { }

* 建議用 - #newMenuIcon { }

8、盡量選擇最特殊的類來存放選擇器

降低系統(tǒng)效率的一個(gè)最大原因是我們在標(biāo)簽類中用了過多的選擇符。通過添加 class 到元素,我們可以將類別進(jìn)行再細(xì)分為 class 類,這樣就不用為了一個(gè)標(biāo)簽浪費(fèi)時(shí)間去匹配過多的選擇符了。

* 不贊成 - treeitem[mailfolder=”true”] > treerow > treecell { }

* 建議用 - .treecell-mailfolder { }

9、避免子孫選擇符

子孫選擇符是CSS中最耗資源的選擇符。他真的是非常的耗資源,尤其是在選擇器使用標(biāo)簽類或通用類的時(shí)候。很多情況中,我們真正想要的是子選擇符。除非有明確說明,在 UI CSS 中是嚴(yán)禁使用子孫選擇符的。

* 不贊成 - treehead treerow treecell { }

* 好一點(diǎn),但還是不行(參照下一條) - treehead > treerow > treecell { }

10、標(biāo)簽類中不要包含子選擇符

不要在標(biāo)簽類中使用子選擇符。否則,每次元素的出現(xiàn),都會(huì)額外地增加匹配時(shí)間。(特別是當(dāng)選擇器似乎多半會(huì)被匹配的情況下)

* 不贊成 - treehead > treerow > treecell { }

* 建議用 - .treecell-header { }

11、留意所有子選擇符的使用

小心地使用子選擇符。如果你能想出一個(gè)的不使用他的方法,那么就不要使用。特別是在 RDF 樹和菜單會(huì)頻繁地使用子選擇符,像這樣。

* 不贊成 - treeitem[IsImapServer=”true”] > treerow > .tree-folderpane-icon { }

請記住 RDF 的屬性是可以在模板中被復(fù)制的!利用這一點(diǎn),我們可以復(fù)制那些想基于該屬性改變的子 XUL 元素上的 RDF 屬性。

* 建議用 - .tree-folderpane-icon[IsImapServer=”true”] { }

桂林網(wǎng)絡(luò)公司 億星 版權(quán)所有 電話:0773-2581116 公司地址:廣西桂林中山中路五洲大廈703(西城步行街口,女人世界對面) ICP備案:桂ICP備11001508號(hào)-1

桂林網(wǎng)絡(luò)公司,桂林網(wǎng)站建設(shè),桂林網(wǎng)站制作,桂林旅游網(wǎng)設(shè)計(jì),桂林旅游網(wǎng)站制作,桂林網(wǎng)站設(shè)計(jì),桂林網(wǎng)站推廣,桂林網(wǎng)頁設(shè)計(jì),桂林培訓(xùn),桂林電腦,桂林電腦培訓(xùn),桂林網(wǎng)頁培訓(xùn),桂林設(shè)計(jì)培訓(xùn)

值班電話:0773-2581116 15807738124 15807730604 QQ:32254753 100009826

桂林網(wǎng)站建設(shè) 桂林網(wǎng)站制作 桂林網(wǎng)絡(luò)公司--億星網(wǎng)絡(luò)科技 網(wǎng)站地圖