码迷,mamicode.com
首页 > 其他好文 > 详细

link 与 @import 区别

时间:2020-03-17 15:36:14      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:资源   demo   ice   text   nim   yellow   顺序   main   css   

规范

  • @import 是 CSS 提供的语法规则,只能用于导入样式表。
  • link 是 HTML 标签,不仅可以加载 CSS 资源,还可以用于引入网站图标等。
<link rel="stylesheet" type="text/css" href="index.css" />
<link rel="icon" href="favicon.ico" />

加载顺序

加载页面时,link 标签引入的 CSS 被同时加载;@import 引入的 CSS 将在页面加载完成后下载。

关于这一点,只在 Chrome 中测试了某一种特定情况,不一定是可以验证此条的直接证据。如果有同学了解的话,请不吝分享出来。

index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title>demo</title>
        <link rel="icon" href="favicon.ico" />
        <link rel="stylesheet" type="text/css" href="index.css" />
    </head>
    <body>
        <div class="main">
            <p class="red">这是一段红色的文字</p>
            <p class="yellow">这是一段黄色的文字</p>
            <p class="blue">这是一段蓝色的文字</p>
        </div>
        <script src="index.js" type="text/javascript" charset="utf-8"></script>
    </body>
</html>

index.css

@import url("extra.css");

.red {
    color: red;
}

.yellow {
    color: yellow;
}

.blue {
    color: blue;
}

index.js

console.log('index');

浏览器控制台信息
技术图片

从上图可以得知,extra.css 是最后加载的。

兼容性

@import 是 CSS 2.1 的规范,IE5+ 才被支持;link 标签不存在兼容性问题。

动态插入

DOM 方法是基于文档的,可以通过 JavaScript 操作插入 link 标签来改变样式,但无法使用 @import 的方式插入样式。

link 与 @import 区别

标签:资源   demo   ice   text   nim   yellow   顺序   main   css   

原文地址:https://www.cnblogs.com/xiaoyucoding/p/12510923.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!