在网上很多抄来抄去的内容都这么说:
1:link是XHTML标签,除加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴只能加载CSS
2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
4:link支持使用Javascript控制DOM去改变样式;而@import不支持。
对其中的第2点有些疑问,“@import需要页面网页完全载入后加载“ 是什么意思,DCL事件之后再加载?通过验证后发现并非如此。
对其中的第4点表示看不太懂,什么叫“link支持使用Javascript控制DOM去改变样式”?
望大神能指点一下。
2、查到多大多数资料都是说,浏览器在遇到
@improt
时,会阻塞后面的加载,并且多个@import
时,加载是串行的,即一个加载完成后,才会加载下一个;而 link 标签是并行加载的。不过,在现代浏览器上没有复现这个问题,或许是因为有过改动,因为查到的资料里面没有看到有定义这个加载的,更多取决于浏览器的实现了。
4、link 标签,是一个 DOM 标签,你可以使用 JS 去创建或者修改他的 href 来实现改变样式。
而如果
@import
是在一个 style 单独的标签里面的话,你到也是可以去创建一个 style 标签里面添加@import
从而实现类似的效果,但是如果这个@import
标签是在一个 CSS 文件里面,你就没有办法了。