1.id 选择器(#myid)2.类选择器(.myclassname)3.标签选择器(div,h1,p)4.相邻选择器(h1+p)5.子选择器(ul <li)6.后代选择器(li a)7.通配符选择器(*)8.属性选择器(a[rel="external"])9.伪类选择器(a:hover,li:nth-child)
其中ID选择器的效率是最高,而伪类选择器的效率则是最低
CSS的权重
1. 通配选择符的权值 0,0,0,0
2. 标签的权值为 0,0,0,1
3. 类的权值为 0,0,1,0
4. 属性选择的权值为 0,0,1,0
5. 伪类选择的权值为 0,0,1,0
6. 伪对象选择的权值为 0,0,0,1
7. ID的权值为 0,1,0,0
8. important的权值为最高 1,0,0,0
使用规则: 选择器的权值加到一起,大的优先;如果权值相同,后定义的优先 。
从上面我们可以得出两个关键的因素:
1. 权值的大小跟选择器的类型和数量有关
2. 样式的优先级跟样式的定义顺序有关