伪元素::before和::after配合content可在不修改HTML的情况下插入内容,适用于添加装饰性文本、图标等;content支持纯文本、attr()属性值、counter()计数器及Unicode符号,如a::after{content:"(外链)";}或abbr::after{content:" ("attr(title)")";};插入内容仅视觉呈现,不影响DOM,不可选中且可能影响无障碍访问,建议用于非关键信息。
在CSS中,伪元素(如 ::before 和 ::after)配合 content 属性,可以在不修改HTML结构的前提下向元素前后插入内容。这在添加装饰性文本、图标或提示信息时非常实用。
content 属性只能用于伪元素 ::before 和 ::after,定义要插入的内容。它可以是:
示例:添加静态文本
给每个链接后面加上“(外链)”说明:
a::after {
content: "(外链)";
}
若想根据HTML属性动态生成内容,可用 attr() 函数。
示例:显示title提示当鼠标悬停时显示附加信息:
abbr::after {
content: " (" attr(title) ")";
color: #666;
}
对应HTML:HTML,将显示为 “HTML (HyperText Markup Language)”。
图标content 支持Unicode字符,适合添加箭头、引号、图标等。
.quote::before {
content: "\201C"; /* 左双引号 */
font-size: 1.5em;
color: #999;
}
常见Unicode示例:
使用 content 添加的文本属于生成内容,有以下特点:
建议仅用于装饰性或辅助性文本,关键信息仍应写在HTML中。
基本上就这些。灵活使用 content 配合伪元素,能让你的页面更简洁美观。