基础选择器
标签选择器、类选择器、ID选择器、通配选择器
属性选择器
[attr]:指定属性的元素;
[attr=val]:属性等于指定值的元素;
[attr*=val]:属性包含指定值的元素;
[attr^=val]:属性以指定值开头的元素;
[attr$=val]:属性以指定值结尾的元素;
[attr~=val]:属性包含指定值(完整单词)的元素(不推荐使用);
[attr|=val]:属性以指定值(完整单词)的元素(不推荐使用);
组合选择器
相邻兄弟选择器:A+B;
普通兄弟选择器:A~B;
子选择器:A>B;
后代选择器:A B;
伪类
条件伪类
:lang():基于元素语言来匹配页面元素;
:dir():匹配特定文字书写方向的元素;
:has():匹配包含指定元素的元素;
:is():匹配指定选择器列表里的元素;
:not():用来匹配不符合一组选择器的元素;
行为伪类
:active :鼠标激活的元素;
:hover :鼠标悬浮的元素;
::selection :鼠标选中的元素;
状态伪类
:target:当前锚点的元素;
:link:未访问的链接的元素;
:visited:已访问的链接元素;
:focus:输入聚焦的表单元素;
:required:输入必填的表单元素;
:valid:输入合法的表单元素;
:invalid:输入非法的表单元素;
:in-range:输入范围以内的表单元素;
:out-of-range:输入范围以外的表单元素;
:checked:选项选中的表单元素;
:optional:选项可选的表单元素;
:enabled:事件启用的表单元素;
:disabled:时间紧用的表单元素;
:read-only:只读的表单元素;
:read-write:可读可写的表单元素;
:blank:输入为空的表单元素;
:current():浏览中的元素;
:past():已浏览的元素;
:future():未浏览的元素;
结构伪类
:root:文档的根元素;
:empty:无子元素的元素;
:first-letter:元素的首字母;
:first-line:元素的首行;
:nth-child(n):元素中指定顺序索引的元素;
:nth-last-child(n):元素中指定逆序索引的元素;
:first-child:元素中为首的元素;
:last-child:元素中为尾的元素;
:only-child:父元素仅有该元素的元素;
:nth-of-type(n):标签中指定顺序索引的标签;
:nth-last-of-type(n):标签中指定逆序索引的标签;
:first-of-type:标签中为首的元素;
:last-of-type:标签中为尾的元素;
:only-of-type:父元素仅有该标签的标签;
伪元素
::before:在元素前插入内容;
::after:在元素后插入内容;