一.动态伪类选择器
主要定义元素的状态
:link “链接”:超链接点击之前
:visited “访问过的”:链接被访问过之后
:hover “悬停”:鼠标放到标签上的时候
:active “激活”: 鼠标点击标签,但是不松手时。
举例:
/*a标签点击之前是红色*/
a:link {color: red;}
/*a标签点击之后是橙色*/
a:visited {color: orange;}
/*鼠标悬停,放到a标签的时候是绿色*/
a:hover {color: green;}
/*鼠标点击链接,但是不松手的时候是黑色*/
a:active {color: black;}
执行顺序:link=>visited=>hover=>active
二.结构伪类选择器
主要用于快速选择多个元素
常见的结构伪类选择器:
E:fisrt-child :找到E下面的第一个子元素
E:last-child :找到E下面的最后一个子元素
E F:nth-child(n):选择父元素E的第n个子元素F
E F:nth-last-child(n):选择父元素E的倒数第n个子元素F。与E:nth-child(n)选择器计算顺序刚好相反
E:nth-of-type(n) :选择父元素内具有指定类型的第n个E元素
E:nth-last-of-type(n):选择父元素内具有指定类型的倒数第n个E元素
E:first-of-type:选择父元素内具有指定类型的第一个E元素
E:last-of-tye :选择父元素内具有指定类型的最后一个E元素
PS:其中E为父元素,其中n可以是整数(1,2,3)、关键字(even,odd)、可以是公式(2n+1),并且n值起始值为1,而不是0
三.UI表单元素状态伪类选择器
主要用来选择form表单中的元素
E:checked(选中状态伪类选择器):匹配选中的复选按钮或者单选按钮元素
E:enabled(启用状态伪类选择器 ):匹配所有启用的表单元素
E:disabled(不可用状态伪类选择器):匹配所有禁用的表单元素
四.否定伪类选择器
主要用来快速选择取反的元素(不常用)
E:not(F):匹配所有除元素F外的E元素
//取到除submit属性之外的所有input元素
input:not([type="submit"]) {border: 1px solid red;}