::before和::after通过content插入装饰性内容,可实现图标、气泡框、悬停动画等视觉效果,提升页面表现力且无需修改HTML结构。
在CSS项目中,::before 和 ::after 伪元素是提升页面视觉表现力的利器。它们允许你在元素内容前或后插入生成的内容,无需修改HTML结构,就能实现图标、装饰、提示等视觉效果。
这两个伪元素通过 content 属性来插入内容,可以是文本、空白字符,甚至是特殊符号。如果不设置 content,伪元素不会显示。
常见写法如下:
.element::before {
content: "";
disp
lay: block;
width: 10px;
height: 10px;
background: red;
}
注意:使用双冒号(::)是为了区分伪类(如 :hover)和伪元素,是现代CSS的标准写法,尽管单冒号在多数浏览器中仍兼容。
利用伪元素可以轻松实现一些常见的UI增强效果:
content 不仅能写静态文字,还能结合 attr() 动态获取HTML属性,比如:
a[target="_blank"]::after {
content: " (外链)";
color: #999;
font-size: 0.8em;
}
这样所有新窗口打开的链接会自动标注“外链”,提升可访问性。
也可以用 \ 加上Unicode编码插入特殊符号,例如 \2713 表示对勾 ✔。
虽然伪元素方便,但也需注意几点:
基本上就这些。掌握 ::before 和 ::after 的使用,能让CSS更灵活,减少无意义的标签,让代码更干净,视觉更丰富。