css加载方式link和@import的区别

 我来答
言言言小鱼

2015-01-13 · 小小的鱼儿小小的我,我就是言小鱼。
言言言小鱼
采纳数:1335 获赞数:7608

向TA提问 私信TA
展开全部

  本质上,这两种方式都是为了加载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可以控制的。

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

  

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

  这样更利于修改和扩展。

  大致就这几种差别了,其它的都一样,从上面的分析来看,还是使用link标签比较好。标准网页制作加载CSS文件时,还应该选定要加载的媒体(media),比如screen,print,或者全部all等。

  提示:这样做有一个缺点,会对网站服务器产生过多的HTTP请求,以前是一个文件,而现在却是两个或更多文件了,服务器的压力增大,浏览量大的网站还是谨慎使用。有兴趣的可以观察一下像新浪等网站的首页或栏目首页代码,他们总会把css或js直接写在html里,而不用外部文件。

欧阳byby
2015-01-13 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:53.7万
展开全部
@import简称输入样式表 这个几乎不用 和link的区别就是在于它的加载方式 @import是在网页文档框架加载完之后再加载样式 而link则相反 因为前者在加载完之后所以网速如果受限制 那就会加载出只有框架无样式的网页,而且@import有个数限制 网页制作我们一般避开@import
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2018-07-26 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
内联 内嵌 外链 导入。
区别 :同时加载。
前者无兼容性,后者CSS2.1以下浏览器不支持。
Link 支持使用javascript改变样式,后者不支持。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式