生成内容属性

最后更新:2026-09-13

content 生成内容属性

content 属性用于在元素的前后插入生成的内容,是 ::before 和 ::after 伪元素的必备属性。它可以插入字符串、图片、计数器值或引用属性值,常用于添加装饰性内容、清除浮动或显示链接地址,而无需改动 HTML 结构。

分类
初始值normal
继承
适用于
可动画
CSS 版本CSS2
状态标准

📝 语法

content: normal | none | <string> | <image> | counter() | attr() | open-quote | close-quote | no-open-quote | no-close-quote;

⚙️ 取值

类型描述
normal | none | <string> | <image> | counter() | attr() | open-quote | close-quote | no-open-quote | no-close-quote关键字生成内容

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
content v1 v12 v1 v1 v1
所有主流浏览器均支持
提示: content 只对 ::before 和 ::after 伪元素生效,省略 content 属性会导致伪元素无法生成。
重要: 通过 content 插入的内容不会被屏幕阅读器朗读,不应放置对理解页面有关键意义的信息。

❓ 常见问题

Qcontent 属性和直接写在 HTML 里有什么区别?
A通过 content 插入的内容属于表现层,不会出现在 DOM 中,不能被用户选中复制,也不会被搜索引擎抓取,适合装饰性内容(图标、前后缀符号、计数编号)。承载关键信息的内容必须写在 HTML 中,且 content 插入的内容屏幕阅读器不一定朗读,不应用来传递核心语义。
Q如何用 content 插入图片?
A使用 content: url(image.png); 即可在伪元素位置插入图片,常用于链接或标题前加小图标。但 url() 无法控制图片大小和对齐;更推荐 content: "" 配合 background-image + background-size 绘制,或用字体图标(iconfont)、内联 SVG。
Q为什么 ::before/::after 必须写 content: ""?
A伪元素只有设置了 content 才会真正生成,即使内容是空字符串 "",否则整个伪元素不渲染。空 content 的常见用途:配合 position 画装饰元素、清除浮动(content: "" + display: table)、为 background 图标占位。content 是伪元素存在的"开关"。
Qcontent 支持哪些值?
A支持字符串(如 "✓")、图片 url()、计数器 counter(name)/counters()、属性值 attr(href)、引号关键字 open-quote/close-quote、以及 normal 和 none。attr() 只能读取字符串类属性,常用于打印样式在链接后显示完整 URL。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏