ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Bootstrap Icons 的 Dice 6(骰子六点)图标深度解析:从 SVG 源码、字体码点到实战用法

Bootstrap Icons 的 Dice 6(骰子六点)图标深度解析:从 SVG 源码、字体码点到实战用法 前端【免费下载链接】iconsOfficial open source SVG icon library for Bootstrap.项目地址https://gitcode.com/gh_mirrors/ic/icons点击查看免费下载本文以 Bootstrap Icons 官方开源图标库中dice-6骰子六点图标为切入点完整解析该图标在仓库中的元数据定义、SVG 几何结构、字体码点登记以及四种主流接入方式并顺带说明其文档页面是如何由构建脚本自动生成的。读完本文你不仅能直接在自己的页面/项目里正确使用bi-dice-6还能理解 Bootstrap Icons 单个图标条目从 SVG 到字体再到文档页面的完整数据链路。图标条目元数据文档说了什么Bootstrap Icons 为每一个图标在 docs/content/icons/ 目录下维护一份 Hugo Markdown 元数据文件dice-6对应的就是 dice-6.md--- title: Dice 6 categories: - Entertainment tags: - dice - die - games - gaming - gambling ---这份 front matter 是图标文档页的核心元数据titleDice 6即页面标题同时被站点模板用作图标的展示名称categoriesEntertainment娱乐标明图标的主题大类tagsdice、die、games、gaming、gambling用于站内搜索、标签聚合和内容导航。这些元数据在渲染时由 docs/layouts/icons/single.html 读取并展示模板会将tags输出为 Tags: 列表、将categories输出为 Category: 条目。也就是说搜索引擎与用户在图标详情页看到的标签信息全部来源于这份 front matter。值得一提的是同一个图标家族还包括dice-1到dice-5以及各自的-fill实心变体dice-1.md 与dice-6使用完全相同的分类和标签结构说明骰子系列图标在元数据层面是统一的。两份 SVGoutline 与 fill 变体dice-6在仓库中实际对应两个 SVG 文件icons/dice-6.svg空心outline版本骰子面为透明背景 圆角线框 实心圆点icons/dice-6-fill.svg实心fill版本骰子面整体填充、圆点呈镂空效果。两个文件都遵循 Bootstrap Icons 的统一规范16×16viewBox、fillcurrentColor颜色随 CSS 的color属性变化、classbi bi-dice-6或bi-dice-6-fill。outline 版本的路径结构dice-6.svg 由两个path组成第一个 path 绘制骰子的外框先用圆角半径 2 的圆角矩形描述外轮廓M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z再叠加一个不带圆角的全尺寸矩形子路径M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3z通过两条路径的组合在视觉上形成圆角描边效果。第二个 path 定义了 6 个点每个点是一个直径 3半径 1.5的圆用弧线命令a1.5 1.5 0 1 1-3 0 ...绘制。6 个圆心分别位于位置圆心坐标左上(4, 4)右上(12, 4)中左(4, 8)中右(12, 8)左下(4, 12)右下(12, 12)这是标准的骰子六点布局左右两列、每列三点中排两点与上、下排两点纵向错开 4px。fill 版本的路径结构dice-6-fill.svg 则是另一个实现思路第一个 path 直接绘制一个圆角半径 3 的实心 16×16 圆角矩形主体后续 6 个子路径同样绘制半径 1.5 的圆点但绕向与主体相反顺时针主体 逆时针圆点。在 SVG 默认的nonzero填充规则下反向绕向的子路径会在实心主体中挖出 6 个洞从而呈现点阵镂空的效果。从源码结构看这正是 Bootstrap Icons 中-fill系列的标准做法用路径绕向控制镂空而不是依赖fill-ruleevenodd或遮罩保证图标在任意currentColor下都能正确渲染。字体码点dice-6 在图标字体中的位置除了 SVG 文件每个图标还会被登记进图标字体icon font。dice-6与dice-6-fill在字体构建产物中的登记位置如下font/bootstrap-icons.css.bi-dice-6-fill::before { content: \f2fc; }、.bi-dice-6::before { content: \f2fd; }font/bootstrap-icons.min.css压缩版中对应规则相同font/bootstrap-icons.scssdice-6-fill: \f2fc, dice-6: \f2fdSCSS 变量映射font/bootstrap-icons.jsondice-6-fill: 62204, dice-6: 62205十进制的 Unicode 码点font/bootstrap-icons.tsTypeScript 类型定义中dice-6-fill | dice-6作为联合类型成员。由此可以算出dice-6的完整码点信息62205 的十六进制为F2FD表示形式值UnicodeUF2FDCSS 转义\f2fdJS 转义\uF2FDHTML 实体#xF2FD;这些表示形式正是图标详情页模板 docs/layouts/icons/single.html 从bootstrap-icons.json读取码点后动态换算并展示给用户的Icon font / Code point区块内容。四种实战接入方式按照 README.md 的说明Bootstrap Icons 支持多种接入方式dice-6同样适用。1. 安装获取通过 npm 安装README 说明 npm 包内只包含处理过的 SVG具体接入方式由使用者自行选择npm i bootstrap-icons也可以通过 Composer 安装对应 Packagist 上的twbs/bootstrap-iconscomposer require twbs/bootstrap-icons2. 内嵌 SVG推荐用于需要精确控制场景直接复制 icons/dice-6.svg 的源码到 HTML 中svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-dice-6 viewBox0 0 16 16 path dM13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3z/ path dM5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m0-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m-8 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m0-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0/ /svg由于填充色使用currentColor只需改变祖先元素的color即可完成图标换色无需改动 SVG 内部。3. 引用图片文件将dice-6.svg作为独立静态资源通过img引入img srcicons/dice-6.svg altDice 6 width16 height164. 使用 SVG Sprite仓库根目录的 bootstrap-icons.svg 是符号模式的 sprite 文件由 svg-sprite.json 配置生成symbol 模式输出到仓库根目录。引入 sprite 后可用use引用svg classbi width16 height16 fillcurrentColor aria-hiddentrue use xlink:hrefbootstrap-icons.svg#dice-6/use /svg5. 使用图标字体CSS引入 font/bootstrap-icons.css或压缩版 font/bootstrap-icons.min.css后用类名即可渲染i classbi bi-dice-6/i i classbi bi-dice-6-fill/i字体文件本身位于 font/fonts/bootstrap-icons.woff2与bootstrap-icons.woff由 CSS 开头的font-face规则加载font/bootstrap-icons.css。需要精确控制字体渲染时还可以直接使用前面表格中的 CSS 转义\f2fd写在自定义样式中。图标条目文档的生成机制dice-6.md这类页面并非完全手写而是由构建脚本生成骨架。看 build/build-pages.mjs 的实现脚本遍历icons/目录下的每个 SVG 文件取文件名如dice-6将连字符替换为空格并首字母大写capitalizeFirstLetter得到Dice 6这样的标题然后写入docs/content/icons/name.md的 front matter 模板title、空的categories、空的tags。生成骨架后Dice 6的分类Entertainment与五个标签由维护者补齐——这正是 dice-6.md 与模板的差异所在。对应的npm run pages命令package.json会为全部图标批量生成这些页面。图标详情页的最终渲染则依赖 docs/layouts/icons/single.html模板通过printf /icons/%s.svg .File.TranslationBaseName拼出对应 SVG 路径并直接内嵌进页面同时在上方展示标题、Tags、Category右侧展示下载按钮、图标字体代码片段、码点信息与可复制的 HTML 源码。由此一份十几行的 front matter 最终被渲染成包含大图预览、字体码点、使用代码的完整图标文档页。设计规范与自建图标提示从dice-6的源码可以提炼出 Bootstrap Icons 单个图标的设计约束README 的 Adding SVGs 一节也有说明所有图标基于16×16 网格设计SVG 的viewBox恒为0 0 16 16导出为纯填充、无描边的扁平化 SVGdice-6中描边效果实际由路径组合模拟统一使用fillcurrentColor以便随文本颜色联动命名遵循dice-6/dice-6-fill的-fill后缀约定轮廓与实心版本成对提供SVG 入库后会经 SVGO 优化并统一重排属性顺序见 README.md 与 svg-sprite.json 中的 svgo 配置再通过npm run icons重新生成字体与 sprite。如果你想在自建图标库中复刻这套体系最简路径是准备好 16×16、currentColor填充的 SVG → 参照 build/build-pages.mjs 批量生成文档骨架 → 再交由 fantasticon/svg-sprite 等工具产出字体与 sprite即可获得与 Bootstrap Icons 一致的图标 文档 字体完整工作流。赞分享前端【免费下载链接】iconsOfficial open source SVG icon library for Bootstrap.项目地址https://gitcode.com/gh_mirrors/ic/icons点击查看免费下载相关推荐Bootstrap Icons 的 Chat heart 图标SVG 源码、字体码点与实战用法Bootstrap Icons 的 Chat heart 图标SVG 源码、字体码点与实战用法 本篇文章围绕 Bootstrap Icons 仓库中 chat前端Bootstrap Icons 的 Badge 4K 图标详解从 SVG 源码到字体代码点与实战用法Bootstrap Icons 的 Badge 4K 图标详解从 SVG 源码到字体代码点与实战用法 Bootstrap Icons 官方开源 SVG 图标库前端Bootstrap Icons 的 building-fill-dash 图标全解析SVG 源码、字体码点与实战用法Bootstrap Icons 的 building fill dash 图标全解析SVG 源码、字体码点与实战用法 导读 building fill das前端上一篇mojs动画状态管理Jotai应用下一篇如何在AWS Lambda中集成JustAuthServerless架构的终极第三方登录解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表