link和@import的区别

本文对比了HTML中的link标签与CSS中的@import指令在引入样式方面的不同之处,包括它们的从属关系、加载顺序、DOM可控性、兼容性和优先级等,并介绍了如何避免FOUC现象。

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

区别

1. 从属关系
link是HTML方式(属于html标签), @import是CSS方式(是css提供的)

2. 加载顺序
加载页面时,link标签引入的 CSS 被同时加载(并行);@import引入的 CSS 将在页面加载完毕后被加载(@import必须在样式规则之前,通过它可以在css文件中引用其他文件)

link最大限度支持并行下载; @import过多嵌套导致串行下载,可能出现FOUC

3. DOM可控性
可以通过 JS 操作 DOM ,利用link的rel=”XX”属性实现界面动态换肤。由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。

4.兼容性
浏览器对link支持早于@import,可以使用@import对老浏览器隐藏样

5.优先级(权重)
同样的样式,优先级 :link > @import
注:权重越大优先级越高。

import的好处:在样式表文件可以使用import导入其它的样式表文件,而link不可以

但总体来说:link优于@import
在样式表文件可以使用import导入其它的样式表文件,而link不可以


补充:

1、什么是FOUC ? 如何避免
Flash Of Unstyled Content(无样式内容闪烁):用户定义样式表加载之前浏览器使用默认样式显示文档,用户样式加载渲染之后再从新显示文档,造成页面闪烁。解决方法:把样式表放到文档的head

2、@import的书写方式

@import 'style.css' //Windows IE4/ NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别
@import "style.css" //Windows IE4/ NS4, Macintosh IE4/NS4不识别
@import url(style.css) //Windows NS4, Macintosh NS4不识别
@import url('style.css') //Windows NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别
@import url("style.css") //Windows NS4, Macintosh NS4不识别

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

eg:

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

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

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

4、权重表

选择器权重
通配符0
标签1
类/伪类/属性10
ID100
行内样式1000
!important1/0(无穷大)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值