CSS伪类和伪元素

109 阅读3分钟

ps:记录一下自己学习前端

1.伪类

1.1 伪类的定义

伪类用于定义元素的特殊状态。例如,它可以用于:

  • 设置鼠标悬停在元素上时的样式
  • 为已访问和未访问链接设置不同的样式
  • 设置元素获得焦点时的样式

1.2 CSS伪类

选择器例子例子描述
:activea:active选择活动的链接。
:checkedinput:checked选择每个被选中的 input 元素。
:enabledinput:enabled选择每个已启用的 input 元素。
:disabledinput:disabled选择每个被禁用的 input元素。
:emptyp:empty选择没有子元素的每个p 元素。
:first-childspan:first-child选择作为其父的首个子元素的每个span元素。
:first-of-typep:first-of-type选择作为其父的首个 p 元素的每个 p 元素。
:last-childp:last-child选择作为其父的最后一个子元素的每个 p 元素。
:last-of-typep:last-of-type选择作为其父的最后一个 p 元素的每个 p元素。
:focusinput:focus选择获得焦点的 input 元素。
:hovera:hover选择鼠标悬停其上的链接。
:in-rangeinput:in-range选择具有指定范围内的值的 input 元素。
:invalidinput:invalid选择所有具有无效值的 input 元素。
:lang(language)p:lang(it)选择每个 lang 属性值以 "it" 开头的 p 元素。
:linka:link选择所有未被访问的链接。
:not(selector):not(p)选择每个非 p元素的元素。
:nth-child(n)p:nth-child(2)选择作为其父的第二个子元素的每个 p元素。
:nth-last-child(n)p:nth-last-child(2)选择作为父的第二个子元素的每个p元素,从最后一个子元素计数。
:nth-of-type(n)p:nth-of-type(2)选择作为其父的第二个 p 元素的每个 p元素。
:only-of-typep:only-of-type选择作为其父的唯一 p 元素的每个 p 元素。
:only-childp:only-child选择作为其父的唯一子元素的 p元素。
:optionalinput:optional选择不带 "required" 属性的 input 元素。
:out-of-rangeinput:out-of-range选择值在指定范围之外的 input 元素。
:read-onlyinput:read-only选择指定了 "readonly" 属性的 input 元素。
:read-writeinput:read-write选择不带 "readonly" 属性的 元素。
:requiredinput:required选择指定了 "required" 属性的 input 元素。
:rootroot选择元素的根元素。
:target#news:target选择当前活动的 #news 元素(单击包含该锚名称的 URL)。
:validinput:valid选择所有具有有效值的 元素。
:visiteda:visited选择所有已访问的链接。

1.3 伪类例子

2 伪元素

2.1 伪元素的定义

CSS 伪元素用于设置元素指定部分的样式。例如,它可用于:

  • 设置元素的首字母、首行的样式
  • 在元素的内容之前或之后插入内容

2.2 CSS伪元素

选择器例子例子描述
::afterp::after在每个 p 元素之后插入内容。
::beforep::before在每个 p 元素之前插入内容。
::first-letterp::first-letter选择每个 p 元素的首字母。
::first-linep::first-line选择每个 p 元素的首行。
::selectionp::selection选择用户选择的元素部分。

2.3 伪元素例子