CSS优先级详解

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、CSS的优先级

1、标有"!important"的规则有最高优先级

一个样式规则可以有一个"important"附带标签,表示该样式规则具有最高优先级。例如下面例子中,前景色被标为important。

H1{color:black !importan; font-family:sans-serif}

注意:这种声明容易引起混乱,因此通常使用得较少。

2、创作者规则优先级高于浏览者规则

浏览器允许浏览者创建样式规则以覆盖系统缺省值。在此情况下,由网页创作者明确设定得样式优先级较高,而浏览者设置得样式规则优先级较低。

3、更特殊得规则优先于不够特殊的规则

在决定特殊性时,selector中的ID属性有最高优先级。基于ID selector的优先级可通过计数Selector中类属性的数量确定,数量越多优先级越高。假如规则仍然无法确定优先级,则HTML 元素名的数量决定了特殊性。

4、在同一个级别的情况下,最后指定的规则有优先权

假如两个或更多的规定在应用了前三个规定具有相同优先级,则后给出的规则优先于早先给出的规则。

如果在网页的HEAD标记中同时使用了STYLE标记符(指定嵌入式样式)和LINK标记符(指定链接式样式),并且这两个样式指定中同时应用了具有同一优先级别的样式,则STYLE标记符和LINK标记符的先后顺序将决定样式的优先级。

例如,如果在LINK所链接的样式表(mycss.css)中定义了以下一条样式规则:

H1{color:red}

同时在嵌入式样式定义中也定义了一条规则:

H1{color:yellow}

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

由于STYLE标记符中定义的样式后出现,因此它具有更高的优先级,所以网页中H1标记符的内容将显示为黄色(yellow)。同样,如果将Link标记符的位置移动到标记符之后,则网页中H1标记符的内容将显示为红色(red)。

另外,由于直插式样式(使用HTNL标记的style属性设置的样式)的位置最接近于样式作用的标记符,因此它通常具有高优先级。

二、css优先级的四大原则:

原则一:继承不如指定

如果某样式是继承来的永远不如具体指定的优先级高。

例子1:

CODE:

我是多大字号?

运行结果:.class3{ font-size: 12px; }

例子2:

CODE:

我是多大字号?

运行结果:.class3{ font-size: 12px; }

注意:后面的几大原则都是建立在“指定”的基础上的。

原则二:#ID > .class > 标签选择符

例子:

CODE:

我是多大字号?

运行结果:#id3 { font-size: 25px; }

原则三:越具体越强大。

解释:当对某个元素的CSS选择符样式定义的越具体,层级越明确,该定义的优先级就越高。CODE:

我是多大字号?

运行结果:.class1 .class2 .class3{font-size: 25px;}

原则四:标签#id >#id ; 标签.class > .class

上面这条原则大家应该也都知道,看例子

CODE: