国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS:提高網頁在瀏覽器的渲染速度

2024-07-11 08:21:22
字體:
來源:轉載
供稿:網友

原文:http://www.zishu.cn/blogview.asp?logid=773

最近很少寫css了,以后也可能寫的會很少了,所以還是想把自已的一些經驗能和大家分享一下,希望能給大家一些幫助!

這篇文章主要寫的提高網頁在客戶端瀏覽器的渲染速度的css部分,暫時總結了10條。

1、*{} #zishu *{} 盡量避開

由于不同瀏覽器對html標簽的解釋有差異,所以最終的網頁效果在不同的瀏覽器中可能是不一樣的,為了消除這方面的風險,設計者通常會在css的一個始就把所有標簽的默認屬性全部去除,以達到所有簽標屬性值都統一的效果。所以就有了*通配符。*會遍歷所有的標簽;

*{margin:0; padding:0}
如果這樣寫,頁面中所有的標簽的margin全是0;padding也是0;

#zishu *{margin:0; padding:0}
如果這樣寫,在id等于zishu下邊的所有標簽的margin全是0;padding也是0;

這樣寫的問題是:

  1. 遍歷會消耗很多的時間,如果你的html代碼寫的不規范或是某一簽標沒有必合,這個時間可能還會更長;
  2. 很多的標簽本來就沒有這個屬性或屬性本身就是統一的,那么更給設置一次,也有時間的開消;

建議的的解決辦法:

  1. 不要去使用生僻的標簽,因為這些標簽往往在不同瀏覽器中解釋出來的效果不一樣;所以你要盡可能的去使用那些常用的標簽;
  2. 不要使用*;而是把你常用到的這些標簽進行處理;例如:body,li,p,h1{margin:0; padding:0}

2、濾鏡的一些東西不要去用

ie的一些濾鏡在firefox中不支持,往往寫一些效果時你還是使用css hack;而濾鏡是一個非常毫資源的東西;特別是一些羽化、陰影和一個前透明的效果;

例如一個陰影效果:

運行代碼框

[ctrl+a 全部選擇 提示:你可先修改部分代碼,再按運行]

例子的鏈接為:http://www.zishu.cn/blogview.asp?logid=610
百姓網的登陸部分使用了陰影效果:http://shanghai.baixing.com/wo/denglu

建議的解決辦法

  1. 能不使用就不要使用,一方面兼容問題;很多效果只能在ie中使用;
  2. 就本例而言,如果非要這樣在的效果,建議用圖片作背景;(只說優化速度,實際應用還是可以小部分用,有人可能會說,用圖片還多一個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>

建議的解決辦法

  1. 盡可能少用,這個少用的值是多少,也沒有一個非常好的值來說明;還要看絕定定位這個標簽里邊的內容的多少;在這里我只能說,這樣寫會有性能問題,少用。
  2. 如果能用變通實現同樣的效果,就用變通的辦法。

|||

 

4、background 背景圖片的平鋪

有些網頁的背景或頁面中某塊的背景通常要用到圖片的平鋪,平鋪后就會有平鋪次數的問題,如果是單次還好,如果是多次,就廢了。

舉個簡單的例子:

例一:滾動一下你的頁面,看速度怎么樣?

運行代碼框

[ctrl+a 全部選擇 提示:你可先修改部分代碼,再按運行]

例二:同樣效果,再試一下這個!

運行代碼框

[ctrl+a 全部選擇 提示:你可先修改部分代碼,再按運行]

說明:測試上邊的兩個效果,你的電腦越差越明顯,如果你的電腦配置非常好,你就把上的8000px改成9000000px試一下,如果還不行,就改的更大一些,整死機別罵我!

建議的作法

  1. 色彩少的圖片要作成gif圖片;
  2. 平鋪的圖片盡可能大一些,如果是色彩少的gif圖片,圖片大一些,實際大小也不會大多少;上邊的兩個例子就很好的證明,第一個圖片非常少,第二個圖大較大一些;但速度是非常不一樣的;

5、讓屬性盡可能多的去繼承

盡可能讓一些屬性子可以繼承父,而不是覆蓋父;

簡單的一個例子:

<style>
a:link,a:visited{color:#0000ff}
a:hover,a:active{color:#ff0000}
#zishu a:link,#zishu a:visited{ font-weight:bold}
#zishu a:hover,#zishu a:active{ font-style: italic;}
</style>
<div><a href="#">test</a><div>
<div id="zishu"><a href="#">zishu</a></div>

運行代碼框

[ctrl+a 全部選擇 提示:你可先修改部分代碼,再按運行]

6、css的路徑別太深;

例如:

#zishu #info #tool #sidebar h2{ font-size:12px;}

7、能簡寫的一些就簡寫;

例如:

#zishu{pading-top:10px; padding-right:50px; padding-left:50px; padding-bottom:4px;}

改成:

#zishu{padding:10px 50px 4px 50px}

這個對渲染速度沒有影響;只是少幾個字符;

8、別放空的的class或沒有的class在html代碼中;

9、float 的應用

這個東西我的感覺是如果使用不當,百分百有性能問題,而且還非常的大,但實在不知道怎么樣能弄一個例子出來;這里只能建議大家如果不是很明白float是怎么工作的,還是少使用為妙。

曾經因為這個把ie干死過,我寫過一個例子,雖說和這個沒有什么太大的關系:ie之死__原來與css有關

10、合理的布局

為什么這么說呢,合理的布局,可以改變css的寫法以及渲染過程。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开远市| 宜丰县| 高尔夫| 迁西县| 双流县| 胶州市| 瑞昌市| 抚顺县| 莱西市| 淄博市| 昭平县| 麦盖提县| 肥城市| 陇西县| 岐山县| 米易县| 瑞昌市| 新乐市| 通江县| 正定县| 昆明市| 岳阳县| 开远市| 荣成市| 安多县| 新乡市| 饶阳县| 长白| 巨野县| 永兴县| 舞阳县| 东至县| 穆棱市| 上高县| 乐亭县| 子长县| 通江县| 澎湖县| 凤阳县| 上饶县| 五华县|