10條影響 CSS 渲染速度的寫法與建議(上)

這篇文章主要寫的提高網頁在客戶端瀏覽器的渲染速度的 CSS 部分。

1、*{} #bd *{} 儘量避開

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

1

*{margin:0; padding:0}

如果這樣寫,頁面中所有的標籤的 margin 全是0;padding 也是0;

1

#bd *{margin:0; padding:0}

如果這樣寫,在 id 等於 bd 下邊的所有標籤的 margin 全是0;padding 也是0;

這樣寫的問題是:
a、遍歷會消耗很多的時間,如果你的 HTML 代碼寫的不規範或是某一簽標沒有必合,這個時間可能還會更長;
b、很多的標籤本來就沒有這個屬性或屬性本身就是統一的,那麼更給設置一次,也有時間的開消;

建議的的解決辦法:
a、不要去使用生僻的標籤,因爲這些標籤往往在不同瀏覽器中解釋出來的效果不一樣;所以你要儘可能的去使用那些常用的標籤;
b、不要使用 * ;而是把你常用到的這些標籤進行處理;例如:

1

body,h1,p,li{margin:0; padding:0}

2、濾鏡的一些東西不要去用
IE的一些濾鏡在FIREFOX中不支持,往往寫一些效果時你還是使用CSS HACK;而濾鏡是一個非常毫資源的東西;特別是一些羽化、陰影和一個前透明的效果;

建議的解決辦法:
a、能不使用就不要使用,一方面兼容問題;另一方面很多效果只能在IE中使用;
b、如果能用變通實現同樣的效果,就用變通的辦法。

3、一個頁面上少用絕對定位
絕對定位(position:absolute)是網頁佈局中很常用到的,特別是作一些浮動效果時,也會讓頁面看起來非常的酷。但網頁中如果使用過多的絕對定位,會讓你的網頁變得非常的慢,在這一點上 Firefox 表現要比 IE 還要差。

建議的解決辦法:
a、儘可能少用,這個少用的值是多少,也沒有一個非常好的值來說明;還要看絕定定位這個標籤裏邊的內容的多少;在這裏我只能說,這樣寫會有性能問題,少用。
b.如果能用變通實現同樣的效果,就用變通的辦法。

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

建議的的解決辦法:
a、色彩少的圖片要作成 gif 圖片;
b、平鋪的圖片儘可能大一些,如果是色彩少的 gif 圖片,圖片大一些,實際大小也不會大多少;

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

儘可能的讓一些子屬性去繼承父類,而不是覆蓋父類;

簡單的一個例子:

1

<html>

2

<head>

3

<style type="text/css">

4

a:link,a:visited{color:#0000FF}

5

a:hover,a:active{color:#FF0000}

6

#wdn a:link,#wdn a:visited{font-weight:bold}

7

#wdn a:hover,#wdn a:active{font-style:italic}

8

</style>

9

</head>

10

<body>

11

<div><a href="#">test</a><div>

12

<div id="wdn"><a href="#">Web Developer Notes</a></div>

13

</body>

14

</html>

實際上我是讓 wdn 去繼承我默認設置的屬性,因爲那些屬性已經存在了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章