一,伪元素
区别:
- 元素:HTML设置的标签
- 伪元素:由css模拟出的标签效果
伪元素 描述 ::first-letter 给文章的首字符进行设置 ::first-line 给文章的第一行进行设置 ::selection 给选中的内容进行设置 ::before 给父元素内容最前面添加文字 ::after 给父元素内容的最后文字 需要注意:
必须设置content属性才能生效
伪元素默认是行内元素
伪元素可以创建一些文档语言无法创建的虚拟元素。比如:文档语言没有一种机制可以描述元素内容的第一个字母或第一行,但伪元素可以做到(::first-letter、::first-line)。
同时,伪元素还可以创建源文档不存在的内容,
比如使用 ::before
<style>
ul li::before{
content:"一个";
padding-left: 8px;
color: #424242;
}
li{
list-style: none;
}
</style>
</head>
<body>
<ul>
<li>苹果</li>
<li>鸡蛋</li>
<li>香蕉</li>
</ul>
</body>
结果就是
常见伪元素有
::first-letter ::first-line ::selection ::before ::after
::cue ::bockdrop
伪类与伪元素的特性及其区别:
伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息;
伪元素本质上是创建了一个有内容的虚拟容器;
CSS3中伪类和伪元素的语法不同;伪类用单冒号:表示;而伪元素用双冒号::表示。一个选择器可以同时使用多个伪类(但有的伪类会互斥);而一个选择器只能同时使用一个伪元素(未来的版本可能会支持多伪元素)。
可以同时使用多个伪类,而只能同时使用一个伪元素.