css伪类和伪元素

        CSS伪类和伪元素都是用来选择HTML文档中的元素或元素的部分的CSS选择器。

  • 伪类(Pseudo-classes)是选择文档中特定状态的元素,例如:hover、:active等。伪类用冒号(:)表示。
            伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。比如说,当用户悬停在指定的元素时,我们可以通过:hover来描述这个元素的状态。虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。

    选择器示例示例说明
    :checkedinput:checked选择所有选中的表单元素
    :disabledinput:disabled选择所有禁用的表单元素
    :emptyp:empty选择所有没有子元素的p元素
    :enabledinput:enabled选择所有启用的表单元素
    :first-of-typep:first-of-type选择的每个 p 元素是其父元素的第一个 p 元素
    :in-rangeinput:in-range选择元素指定范围内的值
    :invalidinput:invalid选择所有无效的元素
    :last-childp:last-child选择所有p元素的最后一个子元素
    :last-of-typep:last-of-type选择每个p元素是其母元素的最后一个p元素
    :not(selector):not(p)选择所有p以外的元素
    :nth-child(n)p:nth-child(2)选择所有 p 元素的父元素的第二个子元素
    :nth-last-child(n)p:nth-last-child(2)选择所有p元素倒数的第二个子元素
    :nth-last-of-type(n)p:nth-last-of-type(2)选择所有p元素倒数的第二个为p的子元素
    :nth-of-type(n)p:nth-of-type(2)选择所有p元素第二个为p的子元素
    :only-of-typep:only-of-type选择所有仅有一个子元素为p的元素
    :only-childp:only-child选择所有仅有一个子元素的p元素
    :optionalinput:optional选择没有"required"的元素属性
    :out-of-rangeinput:out-of-range选择指定范围以外的值的元素属性
    :read-onlyinput:read-only选择只读属性的元素属性
    :read-writeinput:read-write选择没有只读属性的元素属性
    :requiredinput:required选择有"required"属性指定的元素属性
    :rootroot选择文档的根元素
    :target#news:target选择当前活动#news元素(点击URL包含锚的名字)
    :validinput:valid选择所有有效值的属性
    :linka:link选择所有未访问链接
    :visiteda:visited选择所有访问过的链接
    :activea:active选择正在活动链接
    :hovera:hover把鼠标放在链接上的状态
    :focusinput:focus选择元素输入后具有焦点
    :first-childp:first-child选择器匹配属于任意元素的第一个子元素的 <p> 元素
    :lang(language)p:lang(it)为<p>元素的lang属性选择一个开始值
  • 伪元素(Pseudo-elements)是用来选择元素的某个部分。
            伪元素用于创建一些不在文档树中的元素,并为其添加样式。比如说,我们可以通过:before来在一个元素前增加一些文本,并为这些文本添加样式。虽然用户可以看到这些文本,但是这些文本实际上不在文档树中。

    选择器示例示例说明
    :first-letterp:first-letter选择每个<p> 元素的第一个字母
    :first-linep:first-line选择每个<p> 元素的第一行
    :beforep:before在每个<p>元素之前插入内容
    :afterp:after在每个<p>元素之后插入内容
    :selectionp:selection选择用户选择的元素部分。

例如,使用:hover伪类可以设置鼠标悬停在元素上时的样式,使用::before伪元素可以在元素的开头添加一段内容。

特别需要注意的是,伪元素必须在伪类之前,例如:

p::before:hover {
  color: red;
}

这里的:hover伪类是针对p元素前面添加的内容而言的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值