link和@import之间的区别

link和@import都可以导入css样式,但是他们之间有什么区别?
区别:
1.link不仅可以导入样式表,还可以导入其他如如favicon,但@import只能导入样式表
2.link是XHTML语法,不存在兼容问题,但是@import是在css2.1才提出,在IE5+后才支持,所以对低版本的浏览器不兼容
3.可以通过 JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。
4.link是在页面加载的的同时一起加载的,@import是页面加载完毕后才加载的
5.link引入的样式权重大于@import引入的样式(有争议

关于5,link的权重比@import的大,说法应该是不正确的(如果有其他看法欢迎评论留言)。
我写了个很简单的demo

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./css/link样式表.css">
    <style>
        @import url(./css/@import的样式表.css);
    </style>
    
</head>
<body>
    <div class="outer">
        <div class="inner">
            <p style="color: #fff;">我是行内样式</p>
            <p>我是最普通的p标签</p>
            <p>我是加了选择器的p标签</p>
        </div>
    </div>
</body>
</html>

@import的样式表

.outer{
    background: blue;
}
.inner{
    background: red;
}

link样式表

*{
    padding: 0;
    margin: 0;
    color: #000 !important;
}
.outer{
    width: 200px;
    height: 200px;
    background: red;
    margin: 0 auto;
}
.inner{
    width: 100px;
    height: 100px;
    background: blue;
    margin: 0 auto;
}
.inner>p{
    color: #666;
}

当把link放在import之前
在这里插入图片描述
当把link放在@import后
在这里插入图片描述
放的位置不一样导致了两个div的颜色发生改变,相同权重下,在后面写的同名样式覆盖掉了前面写的同名样式,所以并没有存在link的权重会比@import的大

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值