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>