1. 程式人生 > >@import指令與link的區別及二者的使用註意事項

@import指令與link的區別及二者的使用註意事項

支持 文件 asc 部分 rul xhtml 預處理器 請求 似的

首先,二者都是從外部引入css文件的方式,[email protected],且必須放在開頭部分!

<link rel=‘stylesheet‘ href=‘a.css‘>
Or you can use the @import rule:

<style>
@import url(‘a.css‘);
</style>

@import VS Link ,二者的區別

  1. link屬於XHTML標簽,[email protected]
  2. 加載順序的差別。比如,在a.css中使用import引用b.css, 只有當使用當使用import命令的宿主css文件a.css被 被下載、解析之後,瀏覽器才會知道還有另外一個b.css需要下載,這時才去下載,然後下載後開始解析、構建render tree等一系列操作.
  3. 兼容性的差別。[email protected],@import只有在IE5以上的才能識別,而link標簽無此問題。
  4. 當使用javascript控制dom去改變樣式的時候,只能使用link標簽,[email protected]

綜上:

編碼規範建議不要使用 @import

<link> 標簽相比,@import 指令要慢很多,不光增加了額外的請求次數,還會導致不可預料的問題。替代辦法有以下幾種:

  • 使用多個 <link> 元素
  • 通過 Sass 或 Less 類似的 CSS 預處理器將多個 CSS 文件編譯為一個文件
  • 通過 Rails、Jekyll 或其他系統中提供過 CSS 文件合並功能

參考文章:

http://codeguide.bootcss.com

@import指令與link的區別及二者的使用註意事項