CSS特殊符号的特殊性

版权声明:本文首发微信公众号「 puufei 」,转载请标明出处! https://blog.csdn.net/honglei_zh/article/details/52314120
css中的细节问题真是太多了,稍有不慎就会跳进一个坑中。这不这几天又遇到了一个坑。情况是这个样子的
我们知道css中的选择器有特殊性要求,什么是特殊性呢?这里多啰嗦几句。比如一个dom节点,要通过css给其加样式,用css选择出这个节点的方法多种多样,但是哪一种才是特殊性最高的呢?这里就会对这些选择方法做一个个特殊性排序。
style内联样式是特殊性最的写法,因为它没有用到css中的选择。
其次用id选择,还有用类和标签直接选择的。这几种选择器经过排列组合,可以形成的选择结果,多种多样,但最终是哪种选择的特殊性最高呢?
有人给这几种选择器做了一个积分制度,就是在选择结果中出现一种加多少分?规定的凡是出现id一次加100分,一个class加10分,一个属性加1分。
这样算出最后的结果,看哪一个选择结果数值最大,哪一个特殊性就是最高。
但是还有一点没有说到,css中选择方法可不只有这几种,还包括几个特殊符号形成的选择器。
这几个特殊符号是:
* (通用选择器)
> (子选择器)
+ (同一父节点下的相邻选择器)
这几个选择器的特殊性值都是0,在选择结果中出现这几种选择符号,不计入特殊性统计结果。
在工作中再遇到关于样式不明不白被覆盖,就可以根据这个特殊性计算方法快速算出是被哪个样式强了风头。

完~

文章来源:http://www.eyun.me/eyun/jishu/530.html

猜你喜欢

转载自blog.csdn.net/honglei_zh/article/details/52314120