我們知道在網頁中引用外部CSS有兩種方式,即:@import與link,我們也經常聽到有人說要使用link來引入CSS更好,但是你知道為什麼嗎?
link
link就是把外部CSS與網頁連結起來,具體形式
@import
import文字上與link的區別就是它可以把在一個CSS文件中引入其它幾個CSS文件,具體形式
為什麼要使用@import
大部分使用@import方式的人是因為舊的瀏覽器是不支援@import方式的,這意味著我們可以使用@import來引入只讓現代瀏覽器解析的CSS樣式.
使用以下程式碼可以讓IE6及以下的瀏覽器無法解析該CSS(IE6以下的屬於年久失修在這裡略去方法)
@import url(../style.css) screen;另一個主要的原因就是當你的網頁需要引入幾個外部CSS檔案時.你可以使用link引入一個CSS,然後在這個CSS檔案中用@import方式引入其它幾個CSS文件.這樣看起來更容易管理.
為什麼要使用link
使用link方式一個最主要的原因就是你可以讓使用者切換CSS樣式.現代瀏覽器如Firefox,Opera,Safari都支援rel=”alternate stylesheet”屬性(即可在瀏覽器上選擇不同的風格),當然你也可以使用Javascript使得IE也支援使用者更換樣式.
如不明白,請進入這個頁面,然後在Firefox中點擊”查看-頁面風格”.
@import的小毛病
如果你網頁head標籤裡面十分簡單,只有@import屬性的話,當使用者瀏覽的網速較慢時,他會看到一個沒有風格樣式的頁面,然後隨著CSS檔案被下載完成才可以看到應有的風格.要避免這樣的問題,你需要確保head里至少有一個script或是link標籤.
04-11更新: @import會讓CSS整體載入時間變長.並且在IE中會導致文件下載次序被更改,例如放置在@import後面的script文件會在CSS之前被下載.
詳情請參考http://www.stevesouders.com/blog/2009/04/09/dont-use-import/
到底要用那種方式
就目前看來小型的網站還是使用link比較合適(或者說比較流行),當然如果將來我們需要把CSS進行模組化管理也肯定要用到@import.