伪元素和伪类的根据区别就是:前者是创建出了一个新元素,而后者是一个已存在但你不能直接看到的元素。
伪元素
伪元素本身不存在在DOM文档中,它需要人为的去创建它。且就算你创建了伪元素,它也只是逻辑上存在,实际上也并不存在DOM文档中,也就是说你无法使用JS去获取改变它。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/80d23fe6a008ae2fec9067356a0c73cf.png)
伪类
伪类它存在于DOM文档中,但如果你没有特别的去声明它,你就看不到它。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/54fffcc6bd87aa5653003ba6af57ed41.png)
总结
- 伪元素是创建了一个新元素,而伪类本身就存在只不过不用特别声明
- 伪元素使用
:
或者::
声明(前者是css2的声明方式,后者是css3),而伪类只能使用:
(建议在H5中伪元素统一用::
以便区分伪元素和伪类) - 伪元素只能同时使用一个,伪类可以同时使用多个