最近很少寫css了,以後也可能寫的會很少了,所以還是想把自已的一些經驗能和大家分享一下,希望能給大家一些幫助!
這篇文章主要寫的提高網頁在客戶端瀏覽器的渲染速度的css部分,暫時總結了10條。
1、*{} #jb51 *{} 盡量避開
由於不同瀏覽器對html標籤的解釋有差異,所以最終的網頁效果在不同的瀏覽器中可能是不一樣的,為了消除這方面的風險,設計者通常會在css的一個始就把所有標籤的預設屬性全部去除,以達到所有簽標屬性值都統一的效果。所以就有了*通配符。 *會遍歷所有的標籤;
*{margin:0; padding:0}
如果這樣寫,頁面中所有的標籤的margin全是0;padding也是0;
#jb51 *{margin:0; padding:0}
如果這樣寫,在id等於jb51下邊的所有標籤的margin全是0;padding也是0;
這樣寫的問題是:
a.遍歷會消耗很多的時間,如果你的html代碼寫的不規範或是某一簽標沒有必合,這個時間可能還會更長;
b.很多的標籤本來就沒有這個屬性或屬性本身就是統一的,那麼更給設定一次,也有時間的開消;
建議的的解決方法:
a.不要去使用生僻的標籤,因為這些標籤往往在不同瀏覽器中解釋出來的效果不一樣;所以你要盡可能的去使用那些常用的標籤;
b.不要使用*;而是把你常用到的這些標籤進行處理;例如:body,li,p,h1{margin:0; padding:0}
2、濾鏡的一些東西不要去用
ie的某些濾鏡在firefox中不支持,往往寫一些效果時你還是使用css hack;而濾鏡是一個非常毫資源的東西;特別是一些羽化、陰影和一個前透明的效果;
例如一個陰影效果:
<style> body {margin:100px;} #login_b {width:200px;height:200px;background:#000;-moz-opacity:0.2; filter:alpha(opacity=20); margin:-30px 0 0 600px; position:absolute;} #login_t { z-index:10;border:1px solid #006600;width:200px;height:200px;background:#fff; margin:-35px 0 0 595px; position:absolute;} #info{ background:#009900; height:155px;} </style> <div id="info"> <div id="login_t">test</div> <div id="login_b"></div> </div>
建議的解決方法:
a.能不使用就不要使用,一方面相容問題;很多效果只能在ie中使用;
b.就本例而言,如果非要這樣在的效果,建議用圖片作背景;(只說優化速度,實際應用還是可以小部分用,有人可能會說,用圖片還多一個
http請求呢,呵呵…)
一個非常好的例子,就是在今年512大地震時,很多網站一夜之間全部變成了灰色,他們只用了一行css程式碼:
程式碼
body{filter: gray;}
但,你會看會看到這些網頁非常的慢,打開後你的cpu也會飆升,不誇張的說,如果你的電腦配置差,幹死你也不為過。
3、一個頁面上少用絕對定位
絕對定位(position:absolute )是網頁佈局中很常用的,特別是作一些浮動效果時,也會讓頁面看起來非常的酷。但網頁中如果使用過多
的絕對定位,會讓你的網頁變得非常的慢,這點上邊firefox表現要比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>
建議的解決方法:
a.盡可能少用,這個少用的值是多少,也沒有一個非常好的值來說明;還要看絕定定位這個標籤裡邊的內容的多少;在這裡我只能說,這樣寫
會有效能問題,少用。
b.如果能用變通達到同樣的效果,就用變通的辦法。
4、background 背景圖片的平鋪
有些網頁的背景或頁面中某塊的背景通常要用到圖片的平鋪,平鋪後就會有平鋪次數的問題,如果是單次還好,如果多次,就廢了。
舉個簡單的例子:
例一:捲動一下你的頁面,看速度怎麼樣?
<div style="height:8000px; background:url(http://img.jb51.net/images/i2008962026.gif)"></div>
例二:一樣效果,再試一下這個!
<div style="height:8000px; background:url(http://img.jb51.net/images/120089620424.gif)"></div>
說明:測試上邊的兩個效果,你的電腦越差越明顯,如果你的電腦配置非常好,你就把上的8000px改成9000000px試一下,如果還不行,就改的
更大一些,整死機別罵我!
建議的做法:
a.色彩少的圖片要作gif圖片;
b.平舖的圖片盡可能大一些,如果是色彩少的gif圖片,圖片大一些,實際大小也不會大多少;上邊的兩個例子就很好的證明,第一個圖片非常
少,第二個圖大較大一些;但速度是非常不一樣的;
5、讓屬性盡可能多的去繼承
盡可能讓一些屬性子可以繼承父,而不是覆蓋父;
簡單的例子:
<style> a:link,a:visited{color:#0000ff} a:hover,a:active{color:#ff0000} #jb51 a:link,#jb51 a:visited{ font-weight:bold} #jb51 a:hover,#jb51 a:active{ font-style: italic;} </style> <div><a href="#">test</a><div> <div id="jb51"><a href="#">jb51</a></div>
<style> a:link,a:visited{color:#0000ff} a:hover,a:active{color:#ff0000} #jb51 a:link,#jb51 a:visited{ font-weight:bold} #jb51 a:hover,#jb51 a:active{ font-style: italic;} </style> <div><a href="#">test</a><div> <div id="jb51"><a href="#">jb51</a></div>
其實我是讓jb51去繼承我預設的屬性,因為那些屬性已經存在了。
另外再說幾個不是特別重要的地方,平常注意一點就行了,沒有上邊這幾個影響那麼大:
6、css的路徑別太深;
例如:
程式碼
#jb51 #info #tool #sidebar h2{ font-size:12px;}
7、能簡寫的一些就簡寫;
例如:
#jb51{pading-top:10px; padding-right:50px; padding-left:50px; padding-bottom:4px;}
改成:
#jb51{padding:10px 50px 4px 50px}
這個對渲染速度沒有影響;只是少幾個字元;
8、別放空的的class或沒有的class在html程式碼中;
9、float 的應用
這個東西我的感覺是如果使用不當,百分百有性能問題,而且還非常的大,但實在不知道怎麼樣能弄一個例子出來;這裡只能建議大家如果不是很明白float是怎麼運作的,還是少使用為妙。
10、合理的佈局
為什麼這麼說呢,合理的佈局,可以改變css的寫法以及渲染過程。
其實有些不能總結為css部分;
以上就是10條影響css渲染速度的寫法與使用建議第1/3頁_經驗交流的內容,更多相關內容請關注php中文網(www.php.cn)!

Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器