CSS 伪元素

CSS 中的 ::after 伪元素用于在具有 content 属性的选定元素之后添加内容。它允许您插入文本、图像或装饰元素,而无需修改 HTML 结构。默认情况下它是内联的。

语法

selector::after {
   /* ... */
} 

不建议使用 ::after 伪元素添加内容,因为它可能不适合屏幕阅读器可以访问。

CSS ::after 示例

这是一个使用 ::after 伪元素的简单示例:

<html>
<head>
<style>
   p {
      color: royalblue;
      font-size: 1.5em;
      border: 2px solid black;
      text-transform: lowercase;
   }
   p::after {
      content: url(/css/images/logo.png) ;
      position: relative;
   }
</style>
</head>
<body>
   <div>
      <p>With pseudo-element ::after</p>
   </div>
</body>
</html> 

这是另一个示例,演示了 ::after 伪元素与其他元素的用法:

<html>
<head>
<style>
   body {
      width: 100%;
      height: 100vh;
      display: grid;
   }
   .glow {
      padding: 10px;
      width: 250px;
      height: 50px;
      color: #fff;
      background: #111;
      cursor: pointer;
      position: relative;
      z-index: 0;
      border-radius: 20px;
   }
   .glow::before {
      content: '';
      background: linear-gradient(60deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
      position: absolute;
      top: -4px;
      left:-4px;
      background-size: 400%;
      z-index: -1;
      filter: blur(15px);
      width: calc(100% + 6px);
      height: calc(100% + 6px);
      animation: glowing 20s linear infinite;
      opacity: 0;
      transition: opacity .3s ease-in-out;
      border-radius: 10px;
   }
   .glow:active {
      color: rgb(246, 235, 235)
   }
   .glow:active::after {
      background: transparent;
   }
   .glow:hover::before {
      opacity: 1;
   }
   .glow::after {
      z-index: -1;
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: #111;
      left: 0;
      top: 0;
      border-radius: 20px;
      background: linear-gradient(60deg, #293deb, #d019b4, #e6ac0c, #d95909, #d2ef13, #0ce45f, #a872e1, #e70db8, #2f09c8);
   }
   @keyframes glowing {
      0% { background-position: 0 0; }
      50% { background-position: 400% 0; }
      100% { background-position: 0 0; }
   }
</style>
</head>
<body>
   <button class="glow" type="button">将鼠标悬停并单击!</button>
</body>
</html>