link和@import的区别

都是为了加载css文件

关键词:link是XHTML标签,所以没有兼容性问题,并且其导入的css能同时加载,可以通过js Dom动态添加样式

区别

1.从属关系区别
@import是 CSS 提供的语法规则,只有导入样式表的作用;link是XHTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。

2.加载顺序区别
加载页面时,link标签引入的 CSS 被同时加载;@import引入的 CSS 将在页面加载完毕后被加载。

3.兼容性区别
@import是 CSS2.1 才有的语法,故只可在 IE5+ 才能识别;link标签作为 HTML 元素,不存在兼容性问题。

4.DOM可控性区别

link因为是XHTML元素,可以通过js DOM动态的添加样式,但是@import却不可以。

 

5.@import可以在css中再次引入其他样式表,比如创建一个主样式表,在主样式表中再引入其他的样式表,如

  @import “sub1.css”; 
  @import “sub2.css”; 
  sub1.css 
  ———————- 
  p {color:red;} 
  sub2.css 
  ———————- 
  .myclass {color:blue} 

这样有利于修改和扩展。

但是:这样做有一个缺点,会对网站服务器产生过多的HTTP请求,以前是一个文件,而现在确实两个或更多的文件了,服务器压力增大,浏览量大的网站还是谨慎使用。

@import的书写方式

  @import 'style.css' //Windows IE4/ NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别 
  @import "style.css" //Windows IE4/ NS4, Macintosh IE4/NS4不识别 
  @import url(style.css) //Windows NS4, Macintosh NS4不识别 
  @import url('style.css') //Windows NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别 
  @import url("style.css") //Windows NS4, Macintosh NS4不识别 

由上分析知道,@import url(style.css)和@import url("style.css")是最优的选择,兼容的浏览器最多。

 

原文地址:https://www.cnblogs.com/pengc/p/8709660.html