2011-06-06 28 views
4

最近我在閱讀大量CSS優化,並且我注意到幾乎所有文章都建議將所有樣式放在一個文件中。我需要您對CSS優化的意見

我明白這背後的想法,但這是實用的嗎?我的意思是我在一個相當大的項目中工作,現在我擁有大量的風格。我認爲將所有內容保存在一個文件中將會非常困難。

我的問題是:性能增益如此之大以證明所有文件的複雜性?

謝謝!

埃德加。

UPDATE

只是爲了澄清,我敢肯定,對需要優化CSS。實際上,我已經制定了一個最小化和壓縮CSS文件的流程,我盡我所能不要重複自己。

我的疑問是獨家使用一個大文件與多個文件的做法。

讓我們把這個例子:

我的應用程序有多個模塊,例如:聯繫人,項目,會計,HHRR等

我對每個模塊一個CSS文件,再加上其他幾個一般的CSS文件如:重置,佈局,表單等。

當我使用CONTACTS模塊時,我加載一般文件加上contact.CSS文件。我跳過 其餘的CSS,因爲它們不是必需的。

我們的數學,讓我們說,每一個CSS文件的大小約爲10KB,

我現在的方式:

  • 關於一般文件50KB關於5
  • 下載的一般文件要求
  • 客戶檔案中約10k一個
  • 下載請求。

這是一個總共約60kb和6個下載請求。

的一個文件的方法:

  • 關於120KB(所有文件一起包括未在目前使用的樣式)在一個文件
  • 一個下載請求。

那麼,在您看來,有益增益使用一個大文件,只有一個下載請求的,證明實現所有文件組合在一起的方法和所有麻煩的所有額外的工作?

回答

1

兩者兼而有之。在多個文件中開發,然後只需要一個在部署時合併,壓縮和縮小(刪除註釋,空格等)到一個文件的過程。

3

對於開發,請將它們分開。 CSS很快就會變成一場噩夢。對於生產你應該建立一個過程來合併,縮小和壓縮你的所有文件。

1

這樣壓縮你的CSS是一個好主意,因爲它節省了字節並使頁面加載速度更快。

當你發展你的網站,當然不會縮小代碼。這是毫無意義的,因爲您的本地網絡服務器速度可能非常快。但是當您的網站部署時,請縮小代碼。它可以節省您的帶寬,並使您的網站對最終用戶更具響應能力。

下面是CSS的採樣區塊,我會用:

/* 33 characters */ 
body { 
    background-color: red; 
} 

壓縮時,這是一個有點小(原始大小的81%):

/* 27 characters */ 
body{background-color:red;} 

你可以做一個腳本壓縮CSS,因爲你不應該手工做這個。谷歌「CSS縮小器」,我敢打賭你會發現一噸。

0

這不是一個真正的性能增益,而是一個帶寬增益。瀏覽器必須讀取的每個文件都代表大約200個額外的字節。您可以有一個將多個CSS文件合併爲一個用於部署的程序,但大多數CSS縮小器都會爲您執行此操作。

0

我很驚訝沒有人提到一個非常明顯的原因來做到這一點。

在一個大的網站上,您將會加載很多元素,尤其是視覺元素 - 圖像。考慮您的網站加載的文件數量。您可以一次加載一個有限數量的文件(來自單個域的文件號爲)。而CSS則帶來了一些背景圖片和精靈。加載2,3或更多的CSS文件沒有意義。

Blender建議的縮小是對帶寬的一種獎勵。 2K更多的是注意到一個用戶,但乘以1 000或10000是很多。如果你縮小CSS,HTML又如何呢?我沒有看到用縮小的HTML瀏覽這麼多頁面!