☰
Bootstrap Icons 的 Badge 4K 图标详解:从 SVG 源码到字体代码点与实战用法
2026/9/27 8:00:10 网站建设 项目流程
  • 前端

【免费下载链接】icons

Official open source SVG icon library for Bootstrap.

项目地址:https://gitcode.com/gh_mirrors/ic/icons
点击查看免费下载

Bootstrap Icons 官方开源 SVG 图标库(当前仓库版本 1.13.1,位于gh_mirrors/ic/icons)为每一位图标都提供了独立的文档页面与配套源码。本文以Badge 4K图标为线索,完整拆解其文档元数据(docs/content/icons/badge-4k.md)、两种 SVG 形态(描边版与填充版)的路径源码,以及它们如何被编译进字体、雪碧图与各类代码点引用,并给出可直接复制的使用示例。

一、Badge 4K 图标是什么

Badge 4K 是 Bootstrap Icons 中 "Badges"(徽章)分类下的一枚图标,专用于表示4K 超高清分辨率 / 高清显示规格这一语义场景。它在图标文档页(即本文所基于的关联文档)中以元数据形式被定义:

  • title:Badge 4k
  • categories:Badges(图标分类,用于文档站的分组导航)
  • tags:4k、display、resolution、retina(用于站内搜索与检索标签)

从标签(tags)可以看出,该图标面向的典型使用场景包括:显示器与电视的 4K 分辨率标识、视网膜(Retina)屏相关的清晰度宣传、以及任何需要表达"高清显示规格"的界面元素。仓库中除badge-4k.svg(描边版)外,还提供了badge-4k-fill.svg(填充版),两者共用同一套元数据文档体系。

二、SVG 源码解读:填充版与描边版的路径差异

Badge 4K 的 SVG 源文件位于 icons/badge-4k.svg 与 icons/badge-4k-fill.svg。两个文件都遵循 Bootstrap Icons 的标准规范:viewBox="0 0 16 16"、16×16 网格、fill="currentColor"(颜色随继承的 CSScolor变化)、类名分别为bi bi-badge-4k与bi bi-badge-4k-fill。

描边版(badge-4k.svg)的绘制思路

文件包含两条 path:

  1. 第一条 path 负责"4"与"K"两个字符的字形:M4.807 5.001C4.021 6.298 ...,其中4的绘制使用了三次贝塞尔曲线(C指令)过渡,右侧的K则由直线与曲线组合而成;路径中还包含一行a47 47 0 0 1 1.766-3.001的弧线用于补全笔画细节。
  2. 第二条 path 负责圆角徽章的背景边框:先绘制圆角矩形外框(M14 3a1 1 0 0 1 1 1v8...),再通过M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z挖出内部空白,形成"描边式"徽章轮廓。

填充版(badge-4k-fill.svg)的差异

填充版只有两条 path:

  1. 第一条 path 是"4"的局部笔画(M3.577 8.9v.03h1.828V5.898h-.062...),单独绘制4字的一撇;
  2. 第二条 path 将徽章背景与其余文字合并为一个整体实心图形:M2 2a2 2 0 0 0-2 2v8...直接以圆角矩形作为实心底面,文字字形在内部以镂空方式呈现,形成视觉上"实心徽章 + 白色文字"的效果。

两种形态的差异正是 Bootstrap Icons 中-fill后缀图标的一贯设计惯例:描边版适合浅色/细线条场景,填充版在按钮、徽标、彩色背景上对比度更高。选择哪种形态取决于你的界面视觉风格。

三、文档元数据如何驱动图标文档站

docs/content/icons/badge-4k.md本身并不包含正文,而是以 Hugo 前端元数据(front matter)形式为图标文档页提供标题、分类与标签。这些字段在文档站模板中被消费,例如 docs/layouts/icons/single.html:

  • 第 20 行通过.Title输出页面 H1 标题;
  • 第 22-27 行通过.Params.tags与.Params.categories输出"Tags"与"Category"列表;
  • 第 36-38 行根据.File.TranslationBaseName(即文件名badge-4k)拼接 SVG 路径并读取对应图标文件,用于大图预览、示例区和下载链接。

也就是说,badge-4k.md的存在使得文档站能够自动为这枚图标生成"预览 + 示例 + 下载"的完整页面,同时让搜索功能可以按4k、display、resolution、retina等标签命中它。如果你想新增一枚图标,只需同时提交icons/<name>.svg与docs/content/icons/<name>.md(含 title/categories/tags 元数据),构建流程即可自动完成页面生成。

四、字体化:类名、CSS 内容与代码点

Bootstrap Icons 会把全部图标编译为 icon font(字体文件)。npm run icons-font(见 package.json)会基于icons/*.svg通过@twbs/fantasticon生成字体,并产出font/bootstrap-icons.css、font/bootstrap-icons.min.css、font/bootstrap-icons.ts与font/bootstrap-icons.json。

Badge 4K 在字体体系中的对应关系如下(均可在仓库中验证):

图标CSS 类名字体内容(content)Unicode 代码点(十进制→十六进制)
Badge 4K(描边).bi-badge-4k\f15dU+F15D(61789)
Badge 4K(填充).bi-badge-4k-fill\f15cU+F15C(61788)

代码点依据见 font/bootstrap-icons.json(第 94-95 行:"badge-4k-fill": 61788, "badge-4k": 61789),CSS 内容依据见 font/bootstrap-icons.css(第 121-122 行:.bi-badge-4k-fill::before { content: "\f15c"; }与.bi-badge-4k::before { content: "\f15d"; })。

五、使用方式:从 CSS 类到 SVG 内联,再到代码点

1. 使用 icon font 类名

引入font/bootstrap-icons.css后,直接使用类名即可:

<link rel="stylesheet" href="font/bootstrap-icons.css"> <!-- 描边版 --> <i class="bi bi-badge-4k"></i> <!-- 填充版 --> <i class="bi bi-badge-4k-fill"></i>

字体颜色跟随 CSScolor属性,可配合 Bootstrap 的文本工具类使用,如text-primary、text-success。

2. 直接内联 SVG

由于 SVG 使用fill="currentColor",内联时颜色同样跟随外层容器的color:

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-badge-4k" viewBox="0 0 16 16"> <path d="M4.807 5.001C4.021 6.298 3.203 7.6 2.5 8.917v.971h2.905V11h1.112V9.888h.733V8.93h-.733V5.001zm-1.23 3.93v-.032a47 47 0 0 1 1.766-3.001h.062V8.93zm9.831-3.93h-1.306L9.835 7.687h-.057V5H8.59v6h1.187V9.075l.615-.699L12.072 11H13.5l-2.232-3.415z"/> <path d="M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z"/> </svg>

3. 代码点方式(CSS / JS / HTML)

如果你需要在不引入整个图标字体的情况下单独使用,可基于代码点引用:

  • Unicode:U+F15D(描边)/U+F15C(填充)
  • CSS:\f15d/\f15c
  • JS:\uf15d/\uf15c
  • HTML:&#xf15d;/&#xf15c;

例如在 HTML 中直接输出字符实体(需已加载字体):

<i class="bi">&#xf15d;</i>

这些代码点同样由文档站模板动态生成,参见 docs/layouts/icons/single.html 第 121-139 行的 Code point 区块。

4. 图标雪碧图(SVG Sprite)

仓库通过svg-sprite(配置见 svg-sprite.json,脚本见 package.json 的icons-sprite)将全部图标合并为 bootstrap-icons.svg。如需以雪碧图方式引用 Badge 4K,可先运行:

npm run icons-sprite

生成雪碧图后使用<use>引用对应符号(符号 id 通常为bi-badge-4k与bi-badge-4k-fill),适合需要按需打包、减少 HTTP 请求的场景。

六、官方文档中的示例用法(来自 single.html 模板)

Bootstrap Icons 文档站的每个图标页面都会渲染一组"Examples"示例区(docs/layouts/icons/single.html 第 46-106 行),展示了图标在真实界面中的典型摆放方式,Badge 4K 同样适用:

  • 标题场景:fs-2/fs-4的大号文字与图标并排(用于"4K 规格"标题展示);
  • 行内文本:图标嵌入段落文本流中(如"支持4K分辨率");
  • 链接场景:图标置于.text-decoration-none链接文字后;
  • 按钮场景:图标 + 文字组合放入.btn(如btn-primary、btn-success、btn-outline-danger),适合"4K 模式切换"等操作按钮;
  • 输入框场景:图标作为.input-group-text前缀装饰输入框。

这些示例说明该图标适合以 16px 基准按font-size等比缩放(文档站大图预览区甚至以font-size: 10em渲染),并可与 Bootstrap 5 的按钮、输入组、排版组件无缝组合。

七、小结

Badge 4K 图标从docs/content/icons/badge-4k.md的元数据出发,串联起仓库中完整的图标生产链路:icons/badge-4k.svg与icons/badge-4k-fill.svg提供矢量源,npm run icons(含icons-main、icons-sprite、icons-font)将其编译为字体、雪碧图与 CSS,最终以.bi-badge-4k/.bi-badge-4k-fill类名、\f15d/\f15c字体内容以及 U+F15D / U+F15C 代码点三种方式对外提供。无论你是需要一枚 4K 分辨率徽标、高清显示标识,还是想理解 Bootstrap Icons 从 SVG 到字体的完整转换机制,这枚图标都是一个足够小的绝佳切片。

  • 前端

【免费下载链接】icons

Official open source SVG icon library for Bootstrap.

项目地址:https://gitcode.com/gh_mirrors/ic/icons
点击查看免费下载
上一篇:图联邦学习实践:使用FederatedScope构建GNN联邦训练系统
下一篇:Jenkinsapi开发者手册:构建自定义Jenkins集成工具的关键技术

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询