CSS 伪元素

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>