讲师中心 微信公众号
AI工具推荐 视频效率加速

css 伪元素 ::before 用法说明_添加图标与装饰方法

夏萱大大_4049

夏萱大大_4049

发布时间:2026-01-12 14:00:02

|

726人浏览过

|

来源于php中文网

原创

::before伪元素必须配合content属性使用,否则不渲染;content可为空字符串或Unicode转义字符;需显式设置display以控制布局;其内容不可被屏幕阅读器识别,关键语义应使用真实HTML元素。

css 伪元素 ::before 用法说明_添加图标与装饰方法

伪元素 ::before 必须配合 content 属性使用

没有 content::before 就不会渲染——这是最常被忽略的前提。浏览器会直接忽略该伪元素,哪怕你写了 colorbackgrounddisplay 也无效。

  • content 值可以是空字符串:content: "",适合纯装饰(如边框、背景色块)
  • 要显示文字或符号,必须显式声明,例如:content: "→"content: "★"
  • 用 Unicode 图标时注意转义:content: "\2714"(✔),不是 "\u2714"(那是 JS 写法)
  • 不能引用 HTML 实体(如 ×),只能用 Unicode 转义或字面字符

::before 插入图标字体(如 Font Awesome)

当项目已引入图标字体(如 font-family: "Font Awesome 6 Free"),可通过 content + font-family 组合控制图标显示。

button::before {
  content: "\f00c"; /* Font Awesome 的 check 图标 Unicode */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 8px;
}
  • 确保对应字体已加载且 font-family 名称与 @font-face 中定义完全一致(区分大小写、空格、引号)
  • Free 版本需指定 font-weight: 900(solid 图标),400 是 regular(如品牌图标)
  • 避免在 content 中写成 "\uf00c":虽然部分浏览器兼容,但标准写法是不带 u"\f00c"

::before 布局常见问题:默认是 inline,且无法继承父容器的宽高

伪元素默认为 display: inline,这会导致它无法设置 width/height,也无法用 flexgrid 直接控制对齐,容易出现定位错位或尺寸失效。

Baoyu Markdown To Html
Baoyu Markdown To Html

将 Markdown 转换为微信兼容的样式化 HTML,支持代码高亮、数学公式、PlantUML、脚注、提示框、信息图以及可选机器人...

下载
  • 需要尺寸控制时,必须显式设 display:常用 inline-block(保留行内流)、block(独占一行)、或 flex
  • 若做绝对定位装饰(如角标、底纹),建议父元素加 position: relative,再对 ::beforeposition: absolute
  • 注意 z-index:伪元素层级默认和宿主元素相同,但无法高于其父级的其他子元素,除非父级有 position 且设了 z-index

性能与可访问性提醒:伪元素内容不可被屏幕阅读器读取

::before::after 生成的内容属于「纯表现层」,主流屏幕阅读器(NVDA、VoiceOver)默认跳过。如果图标承载关键语义(如「必填项」星号、「错误提示」叉号),不能只靠伪元素实现。

立即学习前端免费学习笔记(深入)”;

  • 装饰性图标(如分隔线、小圆点)用 ::before 完全合适
  • 功能性图标应使用真实 HTML 元素(如 <span aria-hidden="true"></span>)并辅以 aria-labelaria-describedby
  • 避免用 ::before 替代按钮文字或链接锚文本——那会让键盘用户和读屏用户完全丢失操作目标

真正难的不是怎么画出一个三角形或添加一个箭头,而是判断这个“画”是不是应该由 CSS 来承担。一旦涉及语义、交互或状态反馈,伪元素就该让位给真实 DOM 节点。

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1498

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2144

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

5664

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

4609

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

6374

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

8374

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

4239

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

4247

2025.08.07

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

120

2026.09.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.4万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 5.5万人学习

CSS教程
CSS教程

共754课时 | 92.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn