当前位置: 首页 > Web前端 > CSS

伪类和伪元素的区别和应用场景

时间:2023-03-30 13:32:02 CSS

每次有人听到伪类和伪元素的区别,傻傻的说不清楚,回答的也不尽如人意;那么伪类和伪元素有什么区别呢?作用是什么?本文将从区别和作用两个方面学习伪类和伪元素的知识。伪类和伪元素的区别伪类:w3c的标准定义是:CSS伪类用于给一些选择器添加特殊效果。顾名思义就是类,什么是类就是css选择器,所以在dom元素中不会存在css选择器,所以想想我们常用的伪类(在dom结构中不存在,可以也控制样式)首先想到的是a标签的哪些状态伪类型,比如a:link{color:#FF0000;}/*unvisitedlink*/a:visited{color:#00FF00;}/*访问过的链接*/a:hover{color:#FF00FF;}/*鼠标悬停在链接上*/a:active{color:#0000FF;}/*选中的链接*/有一些比如我们常用的:first-child,:last-child:lang:checked:empty,下面都是。先总结一些伪类:1.伪类是类,所以和css选择器有关,在dom中是不存在的。2.CSS伪类类用于添加一些选择器的特殊效果3.伪类后面的冒号:first-child伪元素:伪元素是在文档树之外创建一个对象。伪元素也是元素,但是在DOM对象中是不存在的,但是在浏览器检查元素的时候可以看到,比如::before::after总结一下伪元素:伪元素有两种冒号伪元素可以查看Element看上面的总结来区分两者的区别。相同点:伪类和伪元素都没有出现在源文件和文档树中。也就是说在html源文件中是看不到伪类和伪元素的。区别:伪类本质上是为了弥补常规CSS选择器的不足,以获取更多的信息;伪元素本质上是创建一个包含内容的虚拟容器;CSS3中伪类和伪元素的语法不同;你可以同时使用多个伪类,但同时只能使用一个伪元素;总之,伪元素生成新的对象,在DOM树中看不到(查看元素时可以看到),但可以操作;伪类不会生成新对象,只是DOM中元素的不同状态;