同级情况下CSS的优先级探讨

CSS的调用方式一共有4种,分别是:行内样式,内嵌式,link链接式,@import导入式,在同级的前提下,我们可以按样就近原则来理解他们的优先级,则越前定义的样式,会被后面的样式覆盖。

假如两个或更多的规定在应用了前三个规定具有相同优先级,则后给出的规则优先于早先给出的规则。如果在网页的HEAD标记中同时使用了STYLE标记符(指定嵌入式样式)和LINK标记符(指定链接式样式),并且这两个样式指定中同时应用了具有同一优先级别的样式,则STYLE标记符和LINK标记符的先后顺序将决定样式的优先级。例如,如果在LINK所链接的样式表(mycss.css)中定义了以下一条样式规则:

H1{color:red}

同时在嵌入式样式定义中也定义了一条规则:H1{color:yellow}

在网页中的样式定义如下所示:

1
2
3
4
<HEAD>
<LINK rel=stylesheet href="mycss.css" type="text/css"><STYLE><!--H1{color:yellow}-->
</STYLE>
</HEAD>

由于STYLE标记符中定义的样式后出现,因此它具有更高的优先级,所以网页中H1标记符的内容将显示为黄色(yellow)。同样,如果将Link标记符的位置移动到<STYLE></STYLE>标记符之后,则网页中H1标记符的内容将显示为红色(red)。另外,由于直插式样式(使用HTNL标记的style属性设置的样式)的位置最接近于样式作用的标记符,因此它通常具有高优先级。 

@import导入式是在嵌入式里面插入的,但是在测试的过程中,却是优先级最低的,因此我认为是浏览器加载完毕后导入样式表时,优先解析了导入的内容,所以成为被后面同级样式覆盖。

 

在同级的情况下的优先级是:行内样式>内嵌式=link链接式(谁顺序后,谁优先级高)>@import导入式

posted @   橡树小屋  阅读(1210)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
追逐梦想,永不停息
点击右上角即可分享
微信分享提示