当前位置:首页 >> 网页制作

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

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

H1{color:red}同时在嵌入式样式定义中也定义了一条规则:H1{color:yellow}在网页中的样式定义如下所示:<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导入式