web前端入门到实战:@import和link引入样式的区别
关于@import和link引入样式的区别网上有很多种说法。大致有如下几种,不过这其中会有我存疑的地方,我们可以一起来探讨一下。 区别 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引入的样式。(???) 我们在网上搜索关于这两者的区别的时候通常会看见有第5条这么一个说法。难道第5条真的是这样吗?有待商榷。 所以这里我们就通过几个demo来验证一下第五条 再验证之前我们先来说说css权重的相关概念: css的权重指的是选择器的优先级,CSS 选择器的权重高,即选择器的优先级高。 css的优先级表现在,对同一个html元素设置元素的时候,不同选择器的优先级不同