CSS 中的 ::before 伪元素用于在具有 content 属性的选定元素之前添加内容。它允许您插入文本、图像或装饰元素,而无需修改 HTML 结构。默认情况下,它是内联的。
语法
selector::before {
/* ... */
}
不建议使用 ::before 伪元素添加内容,因为屏幕阅读器可能无法访问它。
CSS ::before 示例
下面是一个使用 ::before 伪元素的简单示例:
<html>
<head>
<style>
p {
color: royalblue;
font-size: 1.5em;
border: 2px solid black;
text-transform: lowercase;
}
p::before {
content: url(images/logo.png) ;
position: relative;
}
</style>
</head>
<body>
<div>
<p>pseudo-element ::before</p>
</div>
</body>
</html>
这是另一个示例,其中显示了 ::before 伪元素的用法:
<html>
<head>
<style>
#flavor {
display: block;
font-size: 18px;
color: black;
width: 500px;
}
li {
padding: 10px 16px;
font-size: 16px;
color: black;
background-color: #fff;
margin-top: 25px;
width: 300px;
transition: all 0.3s ease;
}
li::before {
content: url(images/smiley.png);
}
</style>
</head>
<body>
<form>
<ul id="flavor">
Ice cream Flavors:
<li> Cookie dough</li>
<li> Pistachio</li>
<li> Cookies & Cream</li>
<li> Cotton Candy</li>
<li> Lemon & Raspberry Sorbet</li>
</ul>
</form>
</body>
</html>