zoukankan      html  css  js  c++  java
  • link 与 @import 区别

    规范

    • @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 的方式插入样式。

  • 相关阅读:
    几何光学提纲
    波动学基础提纲
    振动学基础提纲
    气体动理论提纲
    热力学基础提纲
    文献调研
    C#快速入门指南
    PAT 1011 World Cup Betting (20分) 比较大小难度级别
    PAT 1010 Radix (25分) radix取值无限制,二分法提高效率
    PAT 1009 Product of Polynomials (25分) 指数做数组下标,系数做值
  • 原文地址:https://www.cnblogs.com/xiaoyucoding/p/12510923.html
Copyright © 2011-2022 走看看