[摘要]css伪元素和伪类对于刚学习css的同学来说可能会容易混淆,官方文档中解释:CSS 伪类用于向某些选择器添加特殊的效果,CSS 伪元素是用于将特殊的效果添加到某些选择器。那么,css伪元素和伪类的区...
css伪元素和伪类对于刚学习css的同学来说可能会容易混淆,官方文档中解释:CSS 伪类用于向某些选择器添加特殊的效果,CSS 伪元素是用于将特殊的效果添加到某些选择器。那么,css伪元素和伪类的区别究竟在哪?本文将给大家细细的说道说道。
首先可以明确两点,第一:两者都与选择器相关,第二:就是添加一些“特殊”的效果。这里特殊指的是两者描述了其他 css 无法描述的东西。
伪类种类
| 伪类 
 | 作用 
 | 
| :active 
 | 将样式添加到被激活的元素 
 | 
| :focus | 将样式添加到被选中的元素 
 | 
| :hover 
 | 当鼠标悬浮在元素上方时,向元素添加样式 
 | 
| :link 
 | 将特殊样式添加到未被访问过的链接 
 | 
| :visited 
 | 将特殊样式添加到被访问过的链接 | 
| :first-child 
 | 将特殊样式添加到元素的第一个子元素 | 
| :lang 
 | 允许创造者来定义指定的元素中使用的语言 
 | 
伪元素种类
| 伪元素 
 | 作用 
 | 
| :first-letter 
 | 将特殊样式添加到文本的首字母 
 | 
| :first=line 
 | 将特殊样式添加到文本的首行 | 
| :before 
 | 在某元素之前插入某些内容 
 | 
| :after 
 | 在某元素之后插入某些内容 | 
区别
这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。
p>i:first-child {color: red}
<p>
    <i>first</i>
    <i>second</i>
</p>