伪类

伪类更多的定义的是状态,如:hover,或者说是一个可以使用CSS进行修饰的特定的特殊元素,如:first-child

伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。

当用户悬停在指定的元素时,我们可以通过 :hover 来描述这个元素的状态。虽然它和普通的 CSS 类相似,可以为已有的元素添加样式,但是它只有处于 DOM 树无法描述的状态下才能为元素添加样式,所以将其称为伪类。

 

伪元素

伪元素用于创建一些不在文档树中的元素,并为其添加样式。

我们可以通过 :before 来在一个元素前增加一些文本,并为这些文本添加样式。虽然用户可以看到这些文本,但是这些文本实际上不在文档树中。

 

区别:

这个区别我们需要一个例子来理解

 

 

<p>    <em>This</em>    <em>is a text</em></p>

如果我们想要第一个em标签字体颜色变红怎么做呢

使用我们熟悉的伪类很简单

em:first-child {    color: red;}

 

但是如果不存在伪类我们怎么做呢

这是我们就需要为第一个em标签添加类

<p>    <em class="first-child">This</em>    <em>is a text</em></p>

 

em.first-child {    color: red;}

 


 

还是这个例子

现在我想让这个段落的第一个字母变红

怎么做呢

这回我们需要使用伪元素

p::first-letter {    color: red;}

  

同样假设伪元素不存在的情况

这时我们只能嵌套span标签来实现

<p>    <em><span>T</span>his</em>    <em>is a text</em></p>

 

p span {    color: red;}

 

看到这里,相信大家已经清楚了为什么一个叫做伪类,一个叫做伪元素

伪类的效果可以通过添加实际的类来实现

伪元素的效果可以通过添加实际的元素来实现

它们的本质区别就是是否抽象创造了新元素

©著作权归作者所有:来自51CTO博客作者wx605879fdc8dae的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【JS基础入门】JavaScript基础之DOM的基础操作及常用API详解
  2. 给你梳理了 44 个 CSS 精选知识点
  3. Python_学习之基础数据类型
  4. 2021-04-05:给两个长度分别为M和N的整型数组nums1和nums2,其中每个
  5. 3.21 将vCenter Server添加到Active Directory
  6. ArrayList底层
  7. springcloud alibaba 阿里组件版本关系
  8. 关于流媒体的简介及技术梳理
  9. Python基础教程:5种方法实现反转字符串

随机推荐

  1. 【python】通过代理安装包
  2. “全局变量是坏的”是什么意思?
  3. Python Django对接企业微信第三方服务回
  4. python 中的排序大法
  5. Python Flask WTForms:如何在视图中动态禁
  6. 从另一个Python脚本调用Python脚本的最佳
  7. python3如何打印进度条
  8. 基于fastai的分类网络
  9. 关于Python的编码注释# -*- coding:utf-8
  10. Python列表以及列表的处理方法