CSS优先级详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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: