美文网首页
@import 与 link 的区别

@import 与 link 的区别

作者: KevinLee0424 | 来源:发表于2019-03-27 18:00 被阅读0次

本质上,这两种方式都是为了加载css文件,但还是存在细微的差别。

差别1:老祖宗的差别,link属于XHTML标签,而@import完全是css提供的一种方式。

    link标签除了可以加载css外,还可以做很多其他的事情,比如定义RSS,定义rel连接属性等,@import只能加载CSS。

差别2:加载顺序的差别:当一个页面被夹在的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再加载。所以有时候浏览@import加载CSS的页面时会没有样式(就是闪烁),网速慢的时候还挺明显。

差别3:兼容性的差别。由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题,完全兼容。

差别4:使用dom控制样式时的差别。当时用JavaScript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的(不支持)。

差别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")是最优的选择,兼容的浏览器最多。从字节优化的角度来看@import url(style.css)最值得推荐。

相关文章

  • CSS中 link与@import

    外部引用CSS中 link与@import的区别: link属于XHTML标签,而@import完全是CSS自己提...

  • 前端常见面试题(十二)@郝晨光

    link和@import的区别 始终建议使用link,慎用@import 从属关系 link:link是HTML提...

  • link与@import的区别

    区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能...

  • @import 与 link 的区别

    本质上,这两种方式都是为了加载css文件,但还是存在细微的差别。 差别1:老祖宗的差别,link属于XHTML标签...

  • link与@import的区别

    1.link 是HTML标签,@import 是css提供的。 2.link 引入的样式页面加载时同时加载,@im...

  • FE-interview-HTML/CSS

    link和@import区别: 从属关系的区别:link属于XHTML标签,@import是CSS提供的语法规则。...

  • 前端基础积累

    link和@import的区别 link是HTML标签,@import是css提供的。 link引入的样式页面加载...

  • CSS令人迷惑的知识点

    CSS中link 和@import的区别是? '' (1) link属于HTML标签,而@import是CSS提供...

  • link 与 @import 引入的区别

    link@importhtml提供的标签CSS提供的语法规则加载页面的时候加载页面加载完成之后加载没有兼容问题IE...

  • css 整理

    link 与 import 引入有什么区别 @import的引入方式在一些老版本的浏览器中可能不支持。 link是...

网友评论

      本文标题:@import 与 link 的区别

      本文链接:https://www.haomeiwen.com/subject/bqdtbqtx.html