前端夯实基础(八)--- link与@import

本文详细探讨了CSS中link和@import的区别,包括它们的来源、加载顺序、兼容性、JavaScript操作性和权重。link是HTML标签,用于引入CSS文件及其他资源,其加载与解析同步进行;而@import是CSS2.1引入的语法,加载在页面加载完成后,且不支持JS动态插入。在权重方面,link引入的样式高于@import。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、来源

  • @import是 CSS 提供的语法规则,只有导入样式表的作用;
    语法:

    @import url;
    @import url list-of-media-queries;
    

    url:这个 URL 可以是绝对路径或者相对路径。
    list-of-media-queries:是一个逗号分隔的 媒体查询 条件列表,决定通过URL引入的 CSS 规则 在什么条件下应用。如果浏览器不支持列表中的任何一条媒体查询条件,就不会引入URL指明的CSS文件。

    示例:

    @import url("fineprint.css") print; // 打印
    @import url("bluish.css") projection, tv; // 投影或电视
    @import 'custom.css';
    @import url("chrome://communicator/skin/");
    @import "common.css" screen, projection;  //屏幕或投影
    @import url('landscape.css') screen and (orientation:landscape); // 屏幕且横屏
    
  • <link>是HTML外部资源链接元素,是HTML提供的标签, 规定了当前文档与外部资源的关系。
    不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。
    其中,rel属性 表示“关系 (relationship) ”,它可能是<link>元素其中一个关键的特性——属性值表示<link>项的链接方式与包含它的文档之间的关系。

    <link rel="icon" href="favicon.ico"> // 网站图标的链接,没错,就是你存书签时那个链接。
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-icon-114.png" type="image/png">// 还可以在不同的移动设备上加载不同的图标,sizes属性表示图标大小,type属性包含了链接资源的MIME类型。
    
    <link href="print.css" rel="stylesheet" media="print">// 在media属性内部进行查询;这种资源将只在满足媒体条件的情况下才被加载进来。
    <link href="mobile.css" rel="stylesheet" media="screen and (max-width: 600px)">
    
    <link rel="preload" href="myFont.woff2" as="font"  type="font/woff2" crossorigin="anonymous">// 将rel设定为preload,表示浏览器应该预加载该资源,crossorigin属性表示该资源是否应该使用一个CORS请求来获取。
    

2、加载顺序

加载页面时,link标签引入的 CSS 被同时加载;多个link引入的css将会被同时加载,先完成加载的优先解析。
@import引入的 CSS 将在页面加载完毕后被加载。

3、兼容性

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

4、Js操作性

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

5、权重

link引入的样式权重大于@import引入的样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值