首頁 web前端 css教學 10條影響CSS渲染速度的寫法與使用建議第1/3頁_經驗交流

10條影響CSS渲染速度的寫法與使用建議第1/3頁_經驗交流

May 16, 2016 pm 12:04 PM
css 渲染速度

最近很少寫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)!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

bootstrap怎麼調整大小 bootstrap怎麼調整大小 Apr 07, 2025 pm 03:18 PM

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-

bootstrap怎麼插入圖片 bootstrap怎麼插入圖片 Apr 07, 2025 pm 03:30 PM

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

bootstrap按鈕怎麼用 bootstrap按鈕怎麼用 Apr 07, 2025 pm 03:09 PM

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

bootstrap怎麼設置框架 bootstrap怎麼設置框架 Apr 07, 2025 pm 03:27 PM

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

bootstrap怎麼寫分割線 bootstrap怎麼寫分割線 Apr 07, 2025 pm 03:12 PM

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

HTML,CSS和JavaScript的角色:核心職責 HTML,CSS和JavaScript的角色:核心職責 Apr 08, 2025 pm 07:05 PM

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

bootstrap怎麼看日期 bootstrap怎麼看日期 Apr 07, 2025 pm 03:03 PM

答案:可以使用 Bootstrap 的日期選擇器組件在頁面中查看日期。步驟:引入 Bootstrap 框架。在 HTML 中創建日期選擇器輸入框。 Bootstrap 將自動為選擇器添加樣式。使用 JavaScript 獲取選定的日期。

vue中怎麼用bootstrap vue中怎麼用bootstrap Apr 07, 2025 pm 11:33 PM

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

See all articles