(一) 基本伪类选择器
1、标签选择器:通过标签获取元素 0 0 0 1
2、class选择器:通过 . 类名获取元素 0 0 1 0
3、id选择器:通过#id名获取元素 0 1 0 0
4、*通配符选择器:获取到页面的所有元素
5、群组选择器:用逗号隔开基本选择器,表示这些选择器都获取到
(二) 层次(关系)选择器
1、包含选择器:用空格隔开选择器,表示后一个选择器是前面的后代
2、自带选择器:用 > 隔开基本选择器,表示 后一个 选择器是前面的子代
3、相邻兄弟选择器: E+F:表示获取到E后面的紧跟着的F元素 (同级的)
4、兄弟选择器:E~F:表示获取到E后面所有的同级的F的元素
(三)动态伪类选择器
1、a:link 锚链接被访问前添加样式
2、a:visited 锚链接被访问后添加样式
3、e:hover 鼠标悬停在元素上添加样式
4 、e:active 鼠标点击元素是添加样式
5、 :focus 表单元素被聚焦时,添加样
(四)目标伪类选择器
目标:target{ } 被选中的目标添加样式
(五)UI状态选择器
1、:enable 可用的表单元素添加样式
2、:disabled 不可用的表单元素添加样式
3、:checked 被选中的表单元素添加样式
4 、::selection 元素内容被选中时添加样式(火狐需要加前缀 -moz-)
(六)结构伪类选择器
1、E:fris-child 获取 到E元素,且需要满足其为父元素的第一个孩子
2、E:last-child 获取到E元素,且需要满足为父元素的最后一个孩子
3、E:nth-child (n) 获取到E元素,且需要满足为其父元素的第N个孩子
n 的用法:①6n倍数 ②even偶数 odd奇数 ③-n+5 选中1-5 ④p:nth-chil(9):nth-child(n+7) 7-9个
4、E:nth-last-chld(n) 获取到E元素,且要满足其为父元素的倒数第n个孩子
5、E:frist -of-type 获取 到E元素,且要满足为其父元素的第一个该类型的孩子
6、E:last-of-type获取到E元素 ,且要满足为其父元素的最后一个给类型的孩子
7、E:nth-of-type(n) 获取到E元素 ,且要满足为其父元素的第n个该类型的孩子
8、E:nth-last-of-type(n) 获取到E元素,且要满足为其父元素的倒数第n个该类型的孩子
(七)属性选择器
1、E[attr] 拥有attr属性的E元素添加样式
2、E[attr="val"] 拥有attr属性值为val的E元素添加样式
3、E[attr*="val"] attr属性 值包含val的元素添加样式
4、E[attr^ ="val"] attr属性值以val开头的E元素添加样式
5、E[attr$="val"] attr属性值以val结尾的E元素添加样式
(八)伪元素
1、 E::before给E元素天价第一个子元素
2、E::after 给E元素添加最后一个子元素
3、E::frist-letter 给 E元素第一个字添加样式
4、E::frist-line 给E元素第一行添加样式