zoukankan      html  css  js  c++  java
  • CSS中link和@import的使用区别

    我们都知道在html中引入外部的CSS 有2种方式,link标签和@import,他们又什么区别呢?

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

    2.加载顺序区别
    加载页面时,link标签引入的 CSS 被同时加载;@import引入的 CSS 将在页面加载完毕后被加载。

    3.兼容性区别
    @import是 CSS2.1 才有的语法,故只可在 IE5+ 才能识别;link标签作为 HTML 元素,不存在兼容性问题。

    4.DOM可控性区别
    可以通过 JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。

    5.权重区别(该项有争议,下文将详解)
    link引入的样式权重大于@import引入的样式。

    补充说明:

    @import的书写方式

    1 <style type="text/css">
    2     @import 'style.css' //Windows IE4/ NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别
    3     @import "style.css" //Windows IE4/ NS4, Macintosh IE4/NS4不识别
    4     @import url(style.css) //Windows NS4, Macintosh NS4不识别
    5     @import url('style.css') //Windows NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别
    6     @import url("style.css") //Windows NS4, Macintosh NS4不识别
    7 </style>

    熊猫办公https://www.wode007.com/sites/73654.html

    其中,@import url(style.css) 和@import url("style.css")是最优的选择,兼容的浏览器最多。从字节优化的角度来看@import url(style.css)最值得推荐。

    link的书写方式

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

    另外link还有其他的一些用途,比如引入图标

    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    总结

      总体来说:link优于@import,强烈建议使用link标签,慎用@import方式。

  • 相关阅读:
    vue项目在IE中使用的一些坑(未完待续)
    Vue在IE下显示空白问题
    nginx 解决AJAX 跨域问题。
    node.js+express+jade 国际化
    Angular 2 HTTP Requests with Promise
    Windows x64编译 Qt5.7 Mysql驱动
    mysql [Err] 1215
    VS Code 调试Node.js express网站
    Node.js express 入门示例1
    build qt4.8.5 on centos7 or suse11.1
  • 原文地址:https://www.cnblogs.com/ypppt/p/13093406.html
Copyright © 2011-2022 走看看