伪类和伪元素的区别

伪类和伪元素的区别

伪类有 :active、:focus 、:hover、:link、 :visited、:first-child 、:lang
伪元素有 :first-letter、:first-line、:before、:after

存在的意义:
伪类和伪元素存在的意义是为了能找到那些不能被常规CSS选择器获取到的信息和不存在于DOM树中的节点。

  • 伪类:伪类一开始单单只是用来表示一些元素的动态状态,典型的就是链接的各个状态。随后css2标准扩展了其概念范围,使其成为了所有逻辑上存在但在文档树中却无须标识的“幽灵”类。
  • 伪元素:伪元素则代表了某个子元素,这个子元素虽然在逻辑上存在,但并不实际存在于文档树中。

伪类和类的区别:
类选择器是通过类名选择一组元素,而伪类是通过元素的某种状态而选择的一组元素,如a:hover可以控制所有有鼠标悬停状态的a标签,但我们并没有给这些a标签设置类名,所以称之为伪类。

伪类和伪元素的区别:

  • 为了区分伪类和伪元素,在CSS3中作了形式上的区分,伪类前只有一个”:”号(:hover),而伪元素前有两个”:”号(::after)。当然,为了保证兼容,伪元素只有一个”:”也不会出错。
  • 伪类是选择元素的某种状态,而伪元素是选择元素的某个子元素。
    • 伪类 p:first-child 的意义是选择p标签,而且此标签的“状态”是作为第一个子元素的。它不是选择p标签的第一个子元素
    • 伪元素 p:first-line 的意义是选择p标签的文本首行这个子元素。文本首行虽然在逻辑上存在,但并不存在于DOM节点中。所以只能通过伪元素来选中。
  • 伪类可同时使用多个,而伪元素一次只能使用一个。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值