2010-02-27 56 views
-1

正如這篇文章暗示在一個css文件中爲所有@media定義css會更好嗎?

http://www.456bereastreet.com/archive/201002/css_efficiency_tip_use_a_single_stylesheet_file_for_multiple_media/

或不同的外部CSS爲不同的媒體將是更好的選擇?

在可維護性,網站性能方面。

+0

多個CSS文件將永遠降低您的網站的性能。合併它們可以減少http請求。 – 2010-02-27 05:06:32

+0

@rockinthesixstring - 但看到我的另一個問題的尼克回答http://stackoverflow.com/questions/2083900/would-it-be-better-to-combine-print-css-with-main-css-or-using- another-css-file -f/2083911#2083911 – 2010-02-27 05:08:28

+0

你使用什麼技術?直接HTML,PHP,ASP.NET,其他? – 2010-02-27 05:10:52

回答

0

聯合樣式表優點:

  • 最佳/快
  • 良好的尺寸減小壓縮
  • 後是更少的HTTP請求

聯合樣式表缺點:

  • 搞砸了;在一個地方所有不同的樣式表
  • 難以維持
  • 的可讀性
+0

Optimal/Fast = false。很抱歉,但多張樣式表不是最佳或快速的。 – 2010-02-27 05:12:40

+0

@rockinthesixstring:我使用了錯誤的單詞「多個」我的意思是將多個sytle表合併成一個,再次看到我的答案plz :) – Sarfraz 2010-02-27 05:13:45

+0

刪除投票。 – 2010-02-27 05:14:40

0

基本上,如果你可以通過編程基於媒體的CSS文件添加到您的客戶端(只要你只能發送一個CSS文件最後),那麼是的,建立基於@media的多個CSS文件。

如果您不能以編程方式添加css,那麼我會建議將它們組合成一個css文件(因爲您必須將它們全部發送到客戶端),從而減少客戶端的http請求數。

更少的http請求=更快的頁面加載。

+0

但是,然後主要的css會沉重的媒體=「屏幕」用戶是主要用戶很少有人會拿印刷和移動用戶的比例很低也 – 2010-02-27 05:43:31

0

你可以使用依賴於媒體的@import規則,像這樣:

@import url("print.css") print; 
@import url("projection.css") projection, tv; 

它應該在的一切工作,但IE5-7(按:http://www.westciv.com/wiki/CSS_Guide:_Media#mediaspecific) 我不能測試IE8,所以你可能會也失望了。

它會導致非常小的初始CSS負載,然後上傳基於媒體的所需樣式表。

相關問題