引入了一个font-size:100%;又在后边设置了一个全局font-size,但是不知道为什么
前边的反而把后边的样式给覆盖了?
引入了一个font-size:100%;又在后边设置了一个全局font-size,但是不知道为什么
前边的反而把后边的样式给覆盖了?
可能你对 CSS 层叠机制的理解有误,CSS 层叠过程不是一上来就根据声明顺序决定该使用哪条声明的。
完整的 CSS 层叠过程是:
当声明冲突时,CSS 声明的层叠过程先看来源(origin)与重要性(importance),次看选择器的特殊性(specificity),实在不能判断就看声明顺序。
从 origin 与 importance 的角度,优先级从高到低:
reset.css 与 common.css 都属于 3 author级别。胜负未分,接着判断选择器的特殊性。
元素选择器的特殊性为 0, 0, 0, 1
通配选择器的特殊性为 0, 0, 0, 0
在这一步 reset.css 中的元素选择器已经胜出了,所以应用 reset.css 中的样式,根本轮不到判断声明顺序。
所以自己写 common.css 时不要偷懒啊,不要使用通配选择符。
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
5 回答1.9k 阅读
通配符选择器
*
的权重值小于元素选择器。