伪类和伪元素的区别

伪类:向某些选择器中添加特殊的效果
伪元素:将一些特殊的效果添加到某些选择器

自己的个人理解伪类就是一些状态,比如:hover、:active、:link、:visited、:first-child、:focus
伪元素,顾名思义,就是伪造的元素,像:after、:before、:first-line、first-letter这些
(以上只是个人便于理解)

下面才是真的重头戏:
啥也不说,直接上代码吧:
关于伪类

p>i:first-child {color: red}
<p>
    <i>first</i>
    <i>second</i>
</p>
.first-child {color: red}
<p>
    <i class="first-child">first</i>
    <i>second</i>
</p>

关于伪元素

p:first-letter {color: red}
<p>I am stephen lee.</p>
.first-letter {color: red}
<p><span class='first-letter'>I</span> am stephen lee.</p>

你会发现,伪类的实现可以通过添加一个类来达到目的,但是伪元素的话就是通过添加一个实际的元素才能达到目的,这样它们的命名是这样就无可厚非了

最后一点,就是CSS3为了区别上述两者,伪类使用的是:——一个冒号,而伪元素使用的是::——两个冒号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容