以某标签颜色为例,菜鸟的我天真的以为只有后边的样式表覆盖前面的样式表,后来才知道CSS的优先级还是比较复杂的,查阅了一些资料感慨世界真复杂!
先说结论:
通用选择器<元素(类型)选择器<类选择器<属性选择器<伪类<ID 选择器<内联样式
如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。
一般情况下,优先级为:
外部样式<内部样式 <内联样式
有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。
下边是细致一些的说法和解释:
CSS 优先级规则:
- 选择器都有一个权值,权值越大越优先。
- 当权值相等时,后出现的样式表设置要优于先出现的样式表设置。
- 创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式。
- 继承的CSS 样式不如后来指定的CSS 样式
- 在同一组属性设置中标有“!important”规则的优先级最大。
那么什么叫权值呢?
选择器的权值表述为4个部分,用0,0,0,0表示。
- ID选择器的权值,加0,1,0,0。
- 类选择器、属性选择器或伪类,加0,0,1,0。
- 元素和伪元素,加0,0,0,1。