伪类和伪元素

伪类:用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。比如说,当用户悬停在指定的元素时,我们可以通过:hover来描述这个元素的状态。虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。
伪元素:用于创建一些不在文档树中的元素,并为其添加样式。实际上,伪元素就是选取某些元素前面或后面这种普通选择器无法完成的工作。控制的内容和元素是相同的,但它本身是基于元素的抽象,并不存在于文档结构中。比如说,我们可以通过:before来在一个元素前增加一些文本,并为这些文本添加样式。

一: 伪类

常见的状态伪类

:link 应用于未被访问过的链接;

:hover 应用于鼠标悬停到的元素;

:active 应用于被激活的元素;

:visited 应用于被访问过的链接,与:link互斥。

:focus 应用于拥有键盘输入焦点的元素。

结构性伪类

是css3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁

:first-child 选择某个元素的第一个子元素 
:last-child 选择某个元素的最后一个子元素
:nth-child() 选择某个元素的一个或多个特定的子元素
:nth-last-child() 选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始算
:nth-of-type() 选择指定的元素
:nth-last-of-type() 选择指定的元素,从元素的最后一个开始计算
:first-of-type 选择一个上级元素下的第一个同类子元素
:last-of-type 选择一个上级元素的最后一个同类子元素
:empty 选择的元素里面没有任何内容

二:伪元素

  ::first-letter 选择元素文本的第一个字(母)。
  ::first-line 选择元素文本的第一行。
  ::before 在元素内容的最前面添加新内容。
  ::after 在元素内容的最后面添加新内容。
  ::selection匹配用户被用户选中或者处于高亮状态的部分
  ::placeholder匹配占位符的文本,只有元素设置了placeholder属性时,该伪元素才能生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值