• 技术文章 >web前端 >css教程

    在html中引入CSS文件时,link和@import有什么区别?

    yuliayulia2018-09-17 14:02:17原创2778
    之前介绍了如何在HTML中引入CSS文件,将CSS导入HTML的方式有四种,分别是行内式,嵌入式,外部样式。外部样式又分为import导入式,link链接式。同样是外部样式,那link和@import的区别在哪里?想知道的小伙伴继续往下看吧。

    一、引入方式的区别

    link链接式:

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

    import导入式:

    <style type="text/css">   
        @import url("css/green.css");
    </style>

    二、浏览器的区别

    link不会出现兼容性问题,@import 则需要在IE5以上才实现。
    在页面加载过程中,如果是link导入的 CSS 样式文件,CSS样式会和内容同时加载出来。若是@import引入的 CSS文件,样式会在页面加载完成后才被加载。

    三、从属关系的区别

    @import是 CSS 提供的语法规则,只有导入样式表的作用。而link是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。

    四、DOM控制样式时的差别

    需要javascript控制DOM改变样式的时候,只能使用link标签,因为@import不是DOM可以控制的。

    五、CSS优先级的区别

    同等权重CSS样式的优先级由高到低的排序是:行内样式、内联样式、外联样式、导入样式 。如果外联样式和导入样式都有一个div{color:XX},最终的div样式是外联样式中所定义div样式 。

    举例:分别给div行内样式、内联样式、外联样式、导入样式,看看他最终呈现什么效果。

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="UTF-8">
      <title></title>
      <style type="text/css"> 
       @import url("css/red.css");
       div{background: yellow;}
      </style>
      <link rel="stylesheet" type="text/css" href="css/green.css"/>
     </head>
     <body>
      <div style="background: purple;width: 150px;height: 150px;">have a nice day </div>
     </body>
    </html>

    效果图:

    区别1.jpg

    大前端零基础入门到就业:进入学习

    由图可见,div最终呈现的是紫色,而紫色是行内样式设置的,它的优先级最高。接下来继续看,如果是内联样式和导入样式,它又会是什么效果呢?

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="UTF-8">
      <title></title>
      <style type="text/css"> 
      div{background: yellow;}  
       @import url("css/red.css");   
      </style>
     </head>
     <body>
      <div style="width: 150px;height: 150px;">have a nice day </div>
     </body>
    </html>

    效果图:

    样式1.jpg

    显而易见,div最终呈现黄色,黄色是内联样式,它的优先级高于导入样式。

    总结:以上讲述了CSS中的link和import的区别,总的来说,最好不要使用improt导入式,如果import加载的样式比较大,容易出现加载延迟,甚至有闪屏的情况。就目前来看,小型的网站还是推荐使用link导入,当然如果将来我们需要把CSS进行模块化管理,那会用到@import,这个还需要看情况的。

    以上就是在html中引入CSS文件时,link和@import有什么区别?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:学习Bootstrap后的一点小总结 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• css import与link的区别_经验交流• 解决ie动态修改link样式,import css不刷新的问题_经验交流• 引入CSS样式的五种方式_CSS/HTML• 在HTML中引入CSS的3种方式使用介绍_HTML/Xhtml_网页制作• HTML页面引入CSS的几种方式及区别_html/css_WEB-ITnose
    1/1

    PHP中文网