link就是把外部CSS與網頁連接起來,具體形式:
<link rel='stylesheet' href='style.css' type='text/css'/>import文字上與link的區別就是它可以把在一個CSS文件中引入其它幾個CSS文件,具體形式:
@import url("styles.css");大部分使用@import方式的人是因為舊的瀏覽器是不支持@import方式的,這意味著我們可以使用@import來引入只讓現代瀏覽器解析的CSS樣式.
使用以下代碼可以使IE6及以下的瀏覽器無法解析該CSS(IE6以下的屬于年久失修在這里略去方法)
@import url(../style.css) screen;另一個主要的原因就是當你的網頁需要引入幾個外部CSS文件時.你可以使用link引入一個CSS,然后在這個CSS文件中用@import方式引入其它幾個CSS文件.這樣看起來更容易管理.
使用link方式一個最主要的原因就是你可以讓用戶切換CSS樣式.現代瀏覽器如Firefox,Opera,Safari都支持rel="alternate stylesheet"屬性(即可在瀏覽器上選擇不同的風格),當然你還可以使用Javascript使得IE也支持用戶更換樣式.
如不明白,請進入這個頁面,然后在Firefox中點擊"查看-頁面風格".
如果你網頁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.
參考資料:What's the Difference Between @import and link for CSS? 以作學習之用,歡迎補充.
新聞熱點
疑難解答