- 前端
【免费下载链接】icons
Official open source SVG icon library for Bootstrap.
导读
Backpack3 是 Bootstrap Icons 官方图标库(v1.11.0 新增)中一款 16×16 网格绘制的“背包/行李箱”线性图标,归类于 Travel(旅行)分类,可用于学生、通勤、携带行李等界面场景。本文以仓库文档 docs/content/icons/backpack3.md 为核心,结合其 SVG 源文件、字体生成产物(CSS/JSON/SCSS/TS)与 Hugo 文档渲染模板,完整讲解该图标的元数据、路径结构、码点(Code point)以及“网页字体 / SVG 内联 / 雪碧图”三种主流使用方式,让你不仅能直接用,还能理解它背后的构建机制。
一、图标元数据:从 Front Matter 看官方分类体系
backpack3的文档页本身是 Hugo 站点中的“图标永久链接页”(permalink page),全部内容集中在 YAML Front Matter 中:
--- title: Backpack3 categories: - Travel tags: - luggage - bags - carry-on - student - education added: 1.11.0 ---这些字段的语义如下:
| 字段 | 值 | 含义 |
|---|---|---|
title | Backpack3 | 图标在文档站上的显示标题,也是页面<h1>的内容 |
categories | Travel | 图标所属一级分类,对应 docs/content/icons 目录的分类维度 |
tags | luggage, bags, carry-on, student, education | 检索标签,覆盖“行李、包袋、登机随身、学生、教育”等搜索意图 |
added | 1.11.0 | 该图标加入图标库的版本号 |
在 Hugo 渲染时,docs/layouts/icons/single.html 会读取tags与categories,在页面头部渲染出 “Tags: luggage, bags, carry-on, student, education” 与 “Category: Travel” 列表,同时将title输出为面包屑导航和<h1>。也就是说,这些元数据不仅用于文档展示,也是整个图标站分类检索的基础。同类图标(如backpack、backpack-fill、backpack2、backpack4)在 docs/content/icons 下共享相同的分类与标签体系,便于横向检索“背包”这一语义族。
二、SVG 源文件解析:16×16 网格上的线性背包
backpack3的矢量源文件位于 icons/backpack3.svg,与所有 Bootstrap Icons 一样,遵循“16×16 网格、纯fill填充、无 stroke”的设计规范(见 README.md 中对新增图标的说明)。完整源代码如下:
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-backpack3" viewBox="0 0 16 16"> <path d="M4.04 7.43a4 4 0 0 1 7.92 0 .5.5 0 1 1-.99.14 3 3 0 0 0-5.94 0 .5.5 0 1 1-.99-.14M4 9.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5zm1 .5v3h6v-3h-1v.5a.5.5 0 0 1-1 0V10z"/> <path d="M6 2.341V2a2 2 0 1 1 4 0v.341c.465.165.904.385 1.308.653l.416-1.247a1 1 0 0 1 1.748-.284l.77 1.027a1 1 0 0 1 .15.917l-.803 2.407C13.854 6.49 14 7.229 14 8v5.5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5V8c0-.771.146-1.509.41-2.186l-.802-2.407a1 1 0 0 1 .15-.917l.77-1.027a1 1 0 0 1 1.748.284l.416 1.247A6 6 0 0 1 6 2.34ZM7 2v.083a6 6 0 0 1 2 0V2a1 1 0 1 0-2 0m5.941 2.595.502-1.505-.77-1.027-.532 1.595q.447.427.8.937M3.86 3.658l-.532-1.595-.77 1.027.502 1.505q.352-.51.8-.937M8 3a5 5 0 0 0-5 5v5.5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5V8a5 5 0 0 0-5-5"/> </svg>对路径结构进行拆解,可以直观理解图标的绘制逻辑:
- 主轮廓(第二个
<path>):从顶部背带弧线(M6 2.341V2a2 2 0 1 1 4 0)开始,绘制提手、包身圆角矩形主体(M8 3a5 5 0 0 0-5 5v5.5...)以及左右两条“减负带”的支撑细节;该路径同时负责确定图标在网格中的外轮廓。 - 正面装饰线(第一个
<path>):绘制包身正面的两个开口口袋——顶部一条轻微上拱的拉链线(M4.04 7.43a4 4 0 0 1 7.92 0)和底部一条横贯的口袋线(M4 9.5a.5.5 0 0 1 .5-.5h7...),其中右侧口袋还留出了一个小拉链头缺口(h-1v.5...),构成了 backpack3 区别于其他 backpack 变体的视觉特征。
由于使用了fill="currentColor",图标颜色会跟随父元素color属性变化,这也是 Bootstrap Icons 可以轻松通过 CSScolor改变颜色的关键设计。
三、图标字体:码点、CSS 类与字体文件
backpack3不仅以独立 SVG 存在,还被打包进了图标字体(icon font)。仓库中 font/bootstrap-icons.json 记录了每个图标的码点,backpack3 的十进制码点为63716,换算成十六进制为U+F8E4:
- font/bootstrap-icons.css:
.bi-backpack3::before { content: "\f8e4"; }- font/bootstrap-icons.scss 与之对应:
"backpack3": "\f8e4",- 在 TypeScript 类型声明 font/bootstrap-icons.ts 中,
backpack3也被注册为合法的图标名联合类型。
也就是说,无论你使用预编译 CSS、SCSS 源文件还是 TS 类型检查,backpack3的命名与码点在全链路保持一致。
字体使用方式
通过 npm 安装 Bootstrap Icons 后(npm i bootstrap-icons),在页面中引入font/bootstrap-icons.css(或bootstrap-icons.min.css),然后直接使用 CSS 类:
<i class="bi bi-backpack3"></i>由于字体是图标的核心载体,使用时需要确保fonts/目录(bootstrap-icons.woff2、bootstrap-icons.woff)与 CSS 的相对位置正确,具体可参考 font/bootstrap-icons.css 中@font-face的src定义。
四、Code point 对照表:Unicode / CSS / JS / HTML 四种写法
官方文档站会在每个图标页右侧生成一张“Code point”对照表,方便在不同技术栈中使用字体码点。以backpack3(U+F8E4)为例,四种等价写法如下:
| 场景 | 写法 | 说明 |
|---|---|---|
| Unicode | U+F8E4 | 码点的标准表示 |
| CSS | \f8e4 | 用于content: "\f8e4"或content: "\F8E4" |
| JS | \uF8E4 | 在 JavaScript 字符串中使用 |
| HTML |  | 作为 HTML 字符实体直接输出 |
这份对照表由渲染模板 docs/layouts/icons/single.html 动态生成:模板读取font/bootstrap-icons.json中对应图标的十进制码点,再用printf "%X"格式化为十六进制后分场景展示。因此,任何图标页面的码点信息都直接来源于 font/bootstrap-icons.json,仓库内数据即为唯一事实来源。
五、SVG 直接使用:内联、<img>与雪碧图
如果你不想依赖字体文件,可以直接使用 SVG:
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-backpack3" viewBox="0 0 16 16"> <!-- 直接粘贴 icons/backpack3.svg 中的 path 内容 --> </svg>也可以使用<img>标签引用:
<img src="icons/backpack3.svg" alt="Backpack3" width="16" height="16">对于需要批量使用图标的场景,仓库根目录提供了合并后的雪碧图 bootstrap-icons.svg,其中以<symbol id="backpack3">的形式内嵌了全部图标(SVG sprite)。使用方式为:
<svg class="bi" width="16" height="16" fill="currentColor" aria-hidden="true"> <use xlink:href="bootstrap-icons.svg#backpack3"></use> </svg>官方文档的四种使用路径(内联 SVG、<img>引用、SVG sprite、CSS 字体)在 README.md 中有明确说明。文档站上的图标详情页(由 docs/layouts/icons/single.html 渲染)还会提供 “Download SVG” 下载按钮、“Copy HTML” 内联代码复制按钮,以及一个完整的 “Examples” 演示区——展示该图标在标题、段落内联文本、链接、按钮、按钮组、输入框等场景中的渲染效果,是评估图标在不同上下文下视觉表现的最直观途径。
六、如何本地查看与验证
如果你想在本地环境查看backpack3的文档页和演示效果,可以按照 README.md 的指引启动 Hugo 开发服务器:
git clone https://gitcode.com/gh_mirrors/ic/icons cd icons npm i npm start随后打开http://localhost:4000,即可在 Icons 列表中找到 Backpack3 的永久链接页。相关的 npm scripts(完整清单见 package.json):
| Script | 说明 |
|---|---|
start | docs-serve的别名,直接启动 Hugo 本地服务 |
docs-serve | 启动本地 Hugo 服务器 |
pages | 为每个图标生成带模板 Markdown 的永久链接页(即 docs/content/icons 下的各.md文件) |
icons | 优化icons目录中的 SVG,并生成字体与雪碧图产物 |
从源码结构可以推断,docs/content/icons/backpack3.md这类页面正是npm run pages自动生成、再由维护者补充完善的一批“图标档案页”,它们构成了整个图标检索与演示系统的最小单元。
七、常见问题
- backpack3 与 backpack/backpack2/backpack4 有何区别?它们是同一语义族下的不同变体,icons 目录中并存
backpack.svg、backpack2.svg、backpack3.svg、backpack4.svg及对应的-fill实心版本;backpack3 的特点是正面的双口袋与拉链细节。 - 如何让图标变色?将 SVG 内联使用时,修改父元素
color即可,因为图标使用fill="currentColor";使用字体时,直接设置color样式。 - 字体不显示怎么办?优先检查
@font-face中fonts/bootstrap-icons.woff2/.woff的相对路径,以及是否同时包含了bi基类;<i class="bi bi-backpack3"></i>中bi与bi-backpack3缺一不可。
结语
backpack3虽是一个单一图标,但它的文档页串联起了 Bootstrap Icons 项目“SVG 源文件 → 字体构建 → 码点注册 → 文档渲染”的完整链路:从 icons/backpack3.svg 的路径设计,到 font/bootstrap-icons.json 中的码点 U+F8E4,再到 docs/layouts/icons/single.html 的动态展示,读者既可以把它当作一个可直接复用的旅行主题图标,也可以借此理解整个图标库的构建与发布机制。
- 前端
【免费下载链接】icons
Official open source SVG icon library for Bootstrap.
相关推荐
Bootstrap Icons Badge VR 图标详解:SVG 源文件、字体码点与使用方法
Bootstrap Icons Badge VR 图标详解:SVG 源文件、字体码点与使用方法 Badge VR( badge vr )是 Bootstrap
前端Bootstrap Icons 之 binoculars-fill 图标全面解析:SVG 源码、字体码点与应用实践
Bootstrap Icons 之 binoculars fill 图标全面解析:SVG 源码、字体码点与应用实践 双筒望远镜填充图标(binoculars f
前端Bootstrap Icons 的 bookmark-star 图标全解析:SVG 源码、字体码点与三种引用方式
Bootstrap Icons 的 bookmark star 图标全解析:SVG 源码、字体码点与三种引用方式 bookmark star 是 Bootstr
前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考