css2中只有:hover、:active、:visited、:link等有限的几种选择器,css3中新增了大量的伪类选择器。
- 结构化伪类:根据文档结构来选取(9种)
:nth-child(n) 取父元素内的第n个元素 :nth-last-child(n) 从最后一个元素算起第n个元素 :nth-of-type(n) 选择其父元素的第n个元素 :nth-last-of-type(n) 从最后一个元素计算,选择父元素的第n个元素 :last-child(n) 父元素的最后一个子元素 :first-of-type和:last-of-type 选择首个和最后一个 :only-child 当父元素只有这个元素时,选择这个元素 :only-of-type 选择那一个元素,父元素还可以有其他元素 :root 选择文档的根元素(不支持IE6~IE8)
:empty
选择没有任何内容的元素(不支持IE6~IE8)
2.目标伪类:target 用于获取当前活动的目标元素(不支持IE6~IE8)
3.状态伪类:
:enabled和:disabled | 表单中,选择所有可用的元素和所有已被禁用的元素(不支持IE6~IE8) |
:checked | 选择表单中所有被选中的checkbox或radio标签: |
:indeterminate和:default | 选取非选取状态时的选框样式(只有Opera支持) |
4.否定伪类:not(S):选择非匹配元素的所有元素(不支持IE6~IE8)