1.怎么计算权重??
从0开始,
一个 行内样式 +1000,
一个 id +100,
一个 属性选择器 / class 或者 伪类 +10,
属性选择器 (例如 li[ id= red])
(有两 种 类型 的 动态 伪 类:
链接 动态 伪 类 和 用户 动作 动态 伪 类。
链接 动态 伪 类 是: link 和: visited,
而用 户 动作 动态 伪 类 是: hover、: active 和: focus。)
一个元素名,或者 伪元素 +1
(伪元素:
::first-line
::first-letter
::before 和 ::after
)
2.选择器性能
"浏览器读取你的选择器,遵循的原则是从选择器的右边到左边读取"
“越具体的关键选择器,其性能越高”
(最右侧选择器 尽量选择 效率最高的)
例子:
div #myid 比 #myid div 要高
选择器效率
id选择器(#myid)
类选择器(.myclassname)
标签选择器(div,h1,p)
相邻选择器(h1+p)
子选择器(ul > li)
后代选择器(li a)
通配符选择器(*)
属性选择器(a[rel="external"])
伪类选择器(a:hover,li:nth-child)