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(/css/images/logo.png) ;
position: relative;
}
</style>
</head>
<body>
<div>
<p>伪元素 ::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(/css/images/smiley.png);
}
</style>
</head>
<body>
<form>
<ul id="flavor">
喜欢的运动:
<li> 足球</li>
<li> 篮球</li>
<li> 乒乓球</li>
<li> 羽毛球</li>
<li> 网球</li>
</ul>
</form>
</body>
</html>