::before伪元素通过content属性在元素内容前插入装饰性内容,常用于添加图标、符号或视觉效果。例如用.content: "• "添加圆点,或结合Font Awesome插入图标,还可创建左侧色条等布局装饰。使用时需注意仅用于非语义增强,避免影响可访问性,关键信息不应依赖伪元素呈现。

使用 CSS 的 ::before 伪元素,可以在选定元素的内容之前插入装饰性内容,而无需修改 HTML 结构。这种方法常用于添加图标、引号、小标记等视觉增强效果。
基本语法与content属性
::before 必须配合 content 属性使用,否则不会生效。content 可以是字符串、引用属性值,或为空。
例如,给标题前加一个装饰性圆点:.title::before {
content: "• ";
color: #ff6b6b;
font-weight: bold;
}
插入图标或特殊符号
通过 Unicode 字符或字体图标,可以用 ::before 添加图形化装饰。
比如在链接前添加箭头符号:a::before {
content: "→ ";
color: #007acc;
}
或使用 Font Awesome 图标时(需引入字体),可用其对应的编码:
.icon-link::before {
content: "\f0c1";
font-family: "Font Awesome 5 Free";
display: inline-block;
margin-right: 6px;
}
创建纯视觉装饰效果
除了文字和图标,::before 还可用于生成背景形状、边框延伸等非语义装饰。
JTBC CMS(5.0) 是一款基于PHP和MySQL的内容管理系统原生全栈开发框架,开源协议为AGPLv3,没有任何附加条款。系统可以通过命令行一键安装,源码方面不基于任何第三方框架,不使用任何脚手架,仅依赖一些常见的第三方类库如图表组件等,您只需要了解最基本的前端知识就能很敏捷的进行二次开发,同时我们对于常见的前端功能做了Web Component方式的封装,即便是您仅了解HTML/CSS也
立即学习“前端免费学习笔记(深入)”;
例如为段落添加左侧色条:.highlight::before {
content: "";
display: block;
width: 4px;
height: 100%;
background-color: #ffd700;
position: absolute;
left: 0;
top: 0;
}
注意:这类装饰应设置为空 content 或仅作视觉用途,避免影响可访问性。
注意事项与最佳实践
使用 ::before 添加装饰时,应确保不影响内容可读性和屏幕阅读器体验。
- 仅用于装饰的内容,content 应为空字符串或使用 aria-hidden 隐藏语义
- 避免在 ::before 中插入关键信息,因为无法被所有设备读取
- 若需多层装饰,可结合 ::after 一起使用
- 支持伪元素的CSS属性有限,如不能绑定事件,也不在 DOM 中存在









