原文:http://www.zishu.cn/blogview.asp?logID=773
最近很少寫(xiě)CSS了,以后也可能寫(xiě)的會(huì)很少了,所以還是想把自已的一些經(jīng)驗(yàn)?zāi)芎痛蠹曳窒硪幌,希望能給大家一些幫助!
這篇文章主要寫(xiě)的提高網(wǎng)頁(yè)在客戶端瀏覽器的渲染速度的CSS部分,暫時(shí)總結(jié)了10條。
1、*{} #zishu *{} 盡量避開(kāi)
由于不同瀏覽器對(duì)HTML標(biāo)簽的解釋有差異,所以最終的網(wǎng)頁(yè)效果在不同的瀏覽器中可能是不一樣的,為了消除這方面的風(fēng)險(xiǎn),設(shè)計(jì)者通常會(huì)在CSS的一個(gè)始就把所有標(biāo)簽的默認(rèn)屬性全部去除,以達(dá)到所有簽標(biāo)屬性值都統(tǒng)一的效果。所以就有了*通配符。*會(huì)遍歷所有的標(biāo)簽;
*{margin:0; padding:0} 如果這樣寫(xiě),頁(yè)面中所有的標(biāo)簽的margin全是0;padding也是0;
#zishu *{margin:0; padding:0} 如果這樣寫(xiě),在id等于zishu下邊的所有標(biāo)簽的margin全是0;padding也是0;
這樣寫(xiě)的問(wèn)題是:
- 遍歷會(huì)消耗很多的時(shí)間,如果你的HTML代碼寫(xiě)的不規(guī)范或是某一簽標(biāo)沒(méi)有必合,這個(gè)時(shí)間可能還會(huì)更長(zhǎng);
- 很多的標(biāo)簽本來(lái)就沒(méi)有這個(gè)屬性或?qū)傩员旧砭褪墙y(tǒng)一的,那么更給設(shè)置一次,也有時(shí)間的開(kāi)消;
建議的的解決辦法:
- 不要去使用生僻的標(biāo)簽,因?yàn)檫@些標(biāo)簽往往在不同瀏覽器中解釋出來(lái)的效果不一樣;所以你要盡可能的去使用那些常用的標(biāo)簽;
- 不要使用*;而是把你常用到的這些標(biāo)簽進(jìn)行處理;例如:body,li,p,h1{margin:0; padding:0}
2、濾鏡的一些東西不要去用
IE的一些濾鏡在FIREFOX中不支持,往往寫(xiě)一些效果時(shí)你還是使用CSS HACK;而濾鏡是一個(gè)非常毫資源的東西;特別是一些羽化、陰影和一個(gè)前透明的效果;
例如一個(gè)陰影效果:
運(yùn)行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
例子的鏈接為:http://www.zishu.cn/blogview.asp?logID=610 百姓網(wǎng)的登陸部分使用了陰影效果:http://shanghai.baixing.com/wo/denglu
建議的解決辦法:
- 能不使用就不要使用,一方面兼容問(wèn)題;很多效果只能在IE中使用;
- 就本例而言,如果非要這樣在的效果,建議用圖片作背景;(只說(shuō)優(yōu)化速度,實(shí)際應(yīng)用還是可以小部分用,有人可能會(huì)說(shuō),用圖片還多一個(gè)HTTP請(qǐng)求呢,呵呵……)
一個(gè)非常好的例子,就是在今年512大地震時(shí),很多網(wǎng)站一夜之間全部變成了灰色,他們只用了一行CSS代碼:
body{filter: gray;}
但,你會(huì)看會(huì)看到這些網(wǎng)頁(yè)非常的慢,打開(kāi)后你的CPU也會(huì)飆升,不夸張的說(shuō),如果你的電腦配置差,干死你也不為過(guò)。
3、一個(gè)頁(yè)面上少用絕對(duì)定位
絕對(duì)定位(position:absolute )是網(wǎng)頁(yè)布局中很常用到的,特別是作一些浮動(dòng)效果時(shí),也會(huì)讓頁(yè)面看起來(lái)非常的酷。但網(wǎng)頁(yè)中如果使用過(guò)多的絕對(duì)定位,會(huì)讓你的網(wǎng)頁(yè)變得非常的慢,這一點(diǎn)上邊FIREFOX表現(xiàn)要比IE還要差。
例如:
<style>li{ position:absolute;}</style> <ul> <li style="left:10px; top:20px">001</li> <li style="left:30px; top:70px">001</li> <li style="left:40px; top:50px">001</li> …… </ul>
建議的解決辦法:
- 盡可能少用,這個(gè)少用的值是多少,也沒(méi)有一個(gè)非常好的值來(lái)說(shuō)明;還要看絕定定位這個(gè)標(biāo)簽里邊的內(nèi)容的多少;在這里我只能說(shuō),這樣寫(xiě)會(huì)有性能問(wèn)題,少用。
- 如果能用變通實(shí)現(xiàn)同樣的效果,就用變通的辦法。
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁(yè) 下一頁(yè) 10條影響CSS渲染速度的寫(xiě)法與建議 [2]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|