CSS 伪类

示例

伪类是允许基于文档树之外或其他选择器或组合器无法表达的信息进行选择的关键字。该信息可以与某个状态(状态和动态伪类),位置(结构和目标伪类),前者的否定(否定伪类)或语言(lang伪类)相关联。示例包括是否跟随链接(:visited),鼠标悬停在元素上(:hover),复选框是否选中(:checked)等。

语法

selector:pseudo-class { 
    property: value;
}

伪类列表:

名称描述
:active适用于用户激活(即单击)的任何元素。
:any允许您通过创建
包含项将匹配的组来构建相关选择器的集合。这是重复整个选择器的替代方法。
:target选择当前活动的#news元素(单击
包含该锚名称的URL )
:checked适用于已选中
或切换为“ on”状态的单选,复选框或选项元素。
:default表示一组
相似元素中默认的任何用户界面元素。
:disabled适用于处于禁用状态的任何UI元素。
:empty适用于没有子元素的任何元素。
:enabled适用于处于启用状态的任何UI元素。
:first与@page规则结合使用,这将选择
打印文档中的第一页。
:first-child表示作为其父级的第一个子元素的任何元素。
:first-of-type当元素是
其父元素内所选元素类型的第一个元素时适用。这可能是第一个孩子,也可能不是。
:focus适用于具有用户焦点的任何元素。这可以通过
用户的键盘,鼠标事件或其他形式的输入来给出。
:focus-within当焦点位于其中一个元素时,可用于突出显示整个部分。它与:focus伪类匹配的任何元素或后代集中的元素匹配。
:full-screen适用于以全屏模式显示的任何元素。它选择整个
元素堆栈,而不仅仅是顶层元素。
:hover适用于用户的指针设备悬停
但未激活的任何元素。
:indeterminate应用既未选中也
未选中但处于不确定状态的单选或复选框UI元素。这可能是由于
元素的属性或DOM操作引起的。
:in-range:in-range当元素
的value属性在此元素的指定范围限制内时,CSS伪类将匹配。
它允许页面反馈当前
使用该元素定义的值在范围限制之内。
:invalid适用于<input>根据属性中
指定的类型其值无效的元素type=。
:lang适用于包装<body>元素具有正确
指定lang=属性的任何元素。为了使伪类有效,它必须
包含有效的两个或三个字母语言代码。
:last-child表示作为其父级的最后一个子元素的任何元素。
:last-of-type当元素是
其父元素中所选元素类型的最后一个元素时应用。这可能不是最后一个孩子。
:left与@page规则结合使用,这将选择
打印文档中的所有左侧页面。
:link适用于用户未访问的任何链接。
:not()适用于所有的元素传递到值相匹配
(或例如,它的值必须是有效的,它只能包含一个选择。但是,您可以链接多个选择在一起。:not(p):not(.class-name)
:not
:nth-child当元素是n其父元素的-th元素时适用,其中n
可以是整数,数学表达式(例如n+3)或关键字
oddor even。
:nth-of-type当一个元素是相同元素类型的n父元素的第-th个元素时适用
,其中n可以是整数,数学
表达式(例如n+3)或关键字oddor even。
:only-child在:only-childCSS伪类表示任何元素
是其母公司的唯一的孩子。与
:first-child:last-child或相同:nth-child(1):nth-last-child(1),
但特异性较低。
:optional在:optionalCSS伪类表示任何元素
不具有其上所需要的属性集。这使
表单可以轻松地指示可选字段并相应地设置其样式。
:out-of-range:out-of-range当元素的
value属性超出此元素的指定范围限制时,CSS伪类将匹配。
它允许页面反馈当前使用该
元素定义的值超出范围限制。如果值
小于或大于最大和最小设置值,则该值可能超出范围。
:placeholder-shown实验性的。适用于当前显示占位符文本的任何表单元素。
:read-only适用于用户不可编辑的任何元素。
:read-write适用于用户可编辑的任何元素,例如<input>元素。
:right与@page规则结合使用,这将选择
打印文档中的所有正确页面。
:root匹配代表文档的树的根元素。
:scopeCSS伪类匹配
作为选择器要匹配的参考点的元素。
:target选择当前活动的#news元素(单击
包含该锚名称的URL )
:visited适用于用户已访问的任何链接。

该:visited伪类不能在许多现代浏览器可用于大多数的造型了,因为它是一个安全漏洞。请参阅此链接以供参考。