link 和 @import 的区别是什么?

link语法结构:

<link href="url" rel="stylesheet" type="text/css">

 

@import语法结构:

@import url 多用于css文件中,把多个样式表导入到一个样式表中,在页面里面只需要导入一个样式表即可,便于修改和扩展

  1.在html中

    <style type="text/css">

      @import url

    </style>

  2.在css中

    @import url

 

link 和 @import 的区别:

1.语法结构的不同

1.1 <link href="url" rel="stylesheet" type="text/css">

1.2 @import url

2.本质不同

<link>属于标签,只能放入html源码里进行使用,而@import可以看作为css样式,可以引入css样式(<link>属于html标签,而@import是css提供的)

3.页面加载

页面加载时,<link>会被同时被加载,而@import引用的css会等到页面被加载完的时候再加载

4.兼容性。

@import只有在IE5以上才能被识别,而<link>是html标签,无兼容问题

5.优先级

不管是<link>还是@import ,优先级按加载顺序为参考,后加载的优先级高

6.可控性

使用js控制dom改变样式只能使用<link>标签

 

为什么要避免css @import

在web前端优化的建议中,不建议使用css @import 因为这种方式加载css相当于把css放在了底部,因此@import会在网页加载中增加延迟

至于为什么会增加延迟是因为使用@import引用的文件只有字引用它的那个css文件被下载、解析后,浏览器才会知道还有另一个css需要下载,这时才会去进行想在,然后再解析、构建render tree等一系列操作。因此css @import引起的css解析延迟会加长页面留白期,所以要尽量避免css @import,采用<link>标签的方式引入

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值