link与@import的区别

link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载;ink支持使用Javascript控制DOM去改变样式;而@import不支持等等

页面中使用CSS的方式主要有3种:行内添加定义style属性值,页面头部内嵌调用和外面链接调用,其中外面引用有两种:link和@import。外部引用CSS两种方式link和@import的方式分别是:

XML/HTML代码

<link rel="stylesheet" rev="stylesheet" href="css_file" type="text/css" media="all" /> 

//or
<style type="text/css" media="screen"> 
@import url("CSS文件"); 
</style> 
<link rel="stylesheet" rev="stylesheet" href="css_file" type="text/css" media="all" /> 

//or
<style type="text/css" media="screen"> 
@import url("CSS文件"); 
</style> 

两者都是外部引用CSS的方式,但是存在一定的区别:

  • link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
  • link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
  • link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
  • link支持使用Javascript控制DOM去改变样式;而@import不支持。
  • 总体来说:link优于@import
  • @import必须在样式规则之前,可以在css文件中引用其他文件
  • 浏览器对link支持早于@import,可以使用@import对老浏览器隐藏样式- link最大限度支持并行下载,@import过多嵌套导致串行下载,出现FOUC(文档样式短暂失效)