CSS 中的 ::before 和 ::after 伪元素


CSS ::before 和 CSS ::after 伪元素用于在元素前后分别插入一些内容。

::after 伪元素

如果你想在元素后插入内容,则使用 ::after 伪元素。使用内容属性设置要放置在后面的内容 -

p::after { 
   content: " is Virat Kohli";
   background-color: red;
   font-weight: bold;
}

范例

让我们看一个例子 -

<!DOCTYPE html>
<html>
<head>
   <style>
      p {
         background-color: blue;  
         color: white;
      }
      p::after { 
         content: " is Virat Kohli";
         background-color: red;
         font-weight: bold;
      }
   </style>
</head>
<body>
   <h1>Cricket is love</h1>
   <p>Favourite Cricketer</p>
   <p>Favourite Batsman</p>
</body>
</html>

::before 伪元素

如果你想在元素前插入内容,则使用 ::before 伪元素。使用内容属性设置要放置在后面的内容 -

p::before { 
   content: "Virat Kohli:";
   background-color: red;
   font-weight: bold;
}

范例

让我们看一个例子 -

<!DOCTYPE html>
<html>
<head>
   <style>
      p {
         background-color: blue;  
         color: white;
      }
      p::before { 
         content: "Virat Kohli:";
         background-color: red;
         font-weight: bold;
      }
   </style>
</head>
<body>
   <h1>Cricket is love</h1>
   <p>Favourite Cricketer</p>
   <p>Favourite Batsman</p>
</body>
</html>

范例

让我们看一个 CSS ::before 和 CSS ::after 伪元素的示例 -

<!DOCTYPE html>
<html>
<head>
   <style>
      div:nth-of-type(1) p:nth-child(2)::after {
         content: " BUZZINGA!";
         background: orange;
         padding: 5px;
      }
      div:nth-of-type(2) p:nth-child(2)::before {
         content: "Harry:";
         background-color: lightblue;
         font-weight: bold;
         padding: 5px;
      }
   </style>
</head>
<body>
   <div>
      <p>Nobody: </p>
      <p>Sheldon Cooper:</p>
   </div><hr>
   <div>
      <p><q>Death Eaters arrive</q></p>
      <p><q>Expecto Patronum!</q></p>
   </div>
</body>
</html>

范例

让我们看另一个 CSS ::before 和 CSS ::after 伪元素的示例 -

<!DOCTYPE html>
<html>
<head>
   <title>Center Alignment using CSS Margin</title>
   <style>
      #yinyangSymbol {
         width: 100px;
         height: 50px;
         background: #fff;
         border-color: #000;
         border-style: solid;
         border-width: 2px 2px 50px 2px;
         border-radius: 100%;
         position: relative;
      }
      #yinyangSymbol::before {
         content: "";
         position: absolute;
         top: 50%;
         left: 0;
         background: #fff;
         border: 18px solid #000;
         border-radius: 100%;
         width: 14px;
         height: 14px;
      }
      #yinyangSymbol::after {
         content: "";
         position: absolute;
         top: 50%;
         left: 50%;
         background: #000;
         border: 18px solid #fff;
         border-radius:100%;
         width: 14px;
         height: 14px;
      }
      div{
         width: 50%;
         margin: 10px auto;
         border:4px solid black;
      }
      #text {
         border: 4px solid black;
         background-color: grey;
         color: white;
         text-align: center;
      }
   </style>
</head>
<body>
   <div id="main">
      <div>
         <div id="yinyangSymbol"></div>
      </div>
      <div id="text">Be Centered & Balanced</div>
   </div>
</body>
</html>

更新于:2023 年 12 月 28 日

377 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始使用
广告