前端【免费下载链接】iconsOfficial open source SVG icon library for Bootstrap.项目地址https://gitcode.com/gh_mirrors/ic/icons点击查看免费下载本文围绕 Bootstrap Icons 图标库中的badge-tm徽章图标展开基于其文档页元数据 badge-tm.md 以及仓库内对应的 SVG 源文件、字体码点映射和 Hugo 文档站模板完整讲解该图标的图形结构、填充变体、字体集成方式并给出可直接复制使用的四种引入代码。读完本文你将掌握如何在任意项目中以图标字体、内联 SVG、SVG Sprite 或独立文件方式使用badge-tm并理解该图标文档页面在仓库中是如何被生成与驱动的。图标定位Badges 徽章家族的一员badge-tm的文档元数据非常简洁仅包含三段信息--- title: Badge tm categories: - Badges tags: - trademark ---titleBadge tm即“商标trademarkTM徽章”categoriesBadges表明它属于“徽章”类图标tagstrademark说明其语义用途是标注商标信息。从同属徽章家族的图标命名如badge-4k、badge-8k、badge-hd、badge-sd、badge-vo、badge-vr、badge-wc、badge-cc、badge-ad、badge-3d等均可在 icons/ 目录中看到对应的.svg文件可以推断这组徽章图标被设计用于模拟电视、播放器、内容卡片上常见的格式/规格/商标角标。badge-tm即是在此类场景中用来表示“TM 商标”标识的角标。该图标在仓库中共有两个变体分别对应两个 SVG 源文件icons/badge-tm.svg描边线框风格默认变体icons/badge-tm-fill.svg填充实心风格。解读 SVG 源码16×16 网格上的圆角徽章Bootstrap Icons 的全部图标 都基于16×16 的 viewBox 网格绘制badge-tm.svg也不例外。其完整源码如下svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-badge-tm viewBox0 0 16 16 path dM5.295 11V5.995H7V5H2.403v.994h1.701V11zm3.397 0V7.01h.058l1.428 3.239h.773l1.42-3.24h.057V11H13.5V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H7.634V11h1.06z/ path dM14 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文件中有两个关键属性值得注意fillcurrentColor图标不写死颜色而是继承所在元素或 CSS的color这正是 Bootstrap Icons 可以轻松随文字、按钮、链接颜色变色的根本原因viewBox0 0 16 16所有路径坐标都落在 016 的网格内保证任意缩放不失真。两个path各司其职文字字形路径第一段d从坐标上看它由两段子路径构成分别勾勒“TM”两个字母的字形轮廓。第一段以M5.295 11起笔纵向延伸到5.995、再横向拉出顶部的横杠构成左侧字母T第二段以m3.397 0起笔通过l1.428 3.239、l1.71-3.894等相对线段组合出右侧字母M的笔画与衬线结构。整个文字区域横向跨度约为 x2.4 至 x13.5几乎铺满徽章内部。圆角矩形边框路径第二段d由两段圆角矩形子路径叠加而成。第一段用半径为 1 的圆弧a1 1 0 0 1画出主要边框第二段用半径为 2 的圆弧a2 2 0 0 0补足外缘轮廓两段子路径配合实现平滑、饱满的圆角方框外观这是图标绘制中常用的“双子路径描边”手法可让轮廓在渲染时更加干净锐利。也就是说badge-tm的视觉结构是一个圆角方框 内部的 TM 文字对应“商标角标”的直觉语义。填充变体 badge-tm-fill实心色块版icons/badge-tm-fill.svg 是同一语义的实心版本。与描边版不同的是填充版把“圆角矩形 TM 文字”合并进了同一个路径第一段子路径是实心的圆角矩形色块后续两段子路径则是 TM 文字的字形其坐标在填充版中做了微调例如文字起点为M3.295与M7.633与描边版的M5.295、M7.634略有差异用于在实心底色上叠印出文字。填充版适合需要高对比度、强视觉重量的场景例如深色卡片上的角标、按钮徽章、状态标签等而描边版更适合细线风格、需要与正文文字保持一致的轻量 UI。二者在文档站中并列展示可按需选用。字体集成码点、SCSS 与字体文件badge-tm除了作为独立 SVG 存在还被编译进了Bootstrap Icons 图标字体icon font。仓库中的 font/bootstrap-icons.json 记录了每个图标的 Unicode 码点第 106107 行badge-tm-fill: 61800, badge-tm: 61801,这里的数值是十进制码点换算成十六进制为图标十进制码点UnicodeCSS 转义HTML 实体badge-tm61801UF169\f169#xF169;badge-tm-fill61800UF168\f168#xF168;同时font/bootstrap-icons.scss 的第 140141 行以 Sass 变量形式记录了一致的映射badge-tm-fill: \f168, badge-tm: \f169,可以推断经过 Sass 编译后font/bootstrap-icons.css以及压缩版bootstrap-icons.min.css会为.bi-badge-tm生成::before { content: \f169 }这样的字体声明配合 font/fonts/ 下的bootstrap-icons.woff2、bootstrap-icons.woff字体文件即可用图标字体方式渲染该图标。这也解释了为什么文档站中直接使用i classbi bi-badge-tm/i就能显示图标。四种使用方式与完整代码Bootstrap Icons 为每个图标提供了四类消费途径badge-tm也不例外。以下用法均可在文档站图标页模板 docs/layouts/icons/single.html 中找到对应实现其Download、Icon font、Code point、Copy HTML四个区块正是为此设计的。1. 图标字体Font引入字体 CSS 后直接写类名即可i classbi bi-badge-tm/i适用于按钮、菜单、表单占位等以文本为中心的场景颜色通过color控制尺寸通过font-size控制会随字体平滑缩放。2. 内联 SVGInline SVG直接复制 icons/badge-tm.svg 的内容到 HTML 中文档站的 “Copy HTML” 区块即提供此功能。内联方式与 CSS 的fill、currentColor完全打通便于用 CSS 精细控制svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-badge-tm viewBox0 0 16 16 path dM5.295 11V5.995H7V5H2.403v.994h1.701V11zm3.397 0V7.01h.058l1.428 3.239h.773l1.42-3.24h.057V11H13.5V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H7.634V11h1.06z/ path dM14 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/ /svg3. SVG 符号精灵Sprite仓库根目录的 bootstrap-icons.svg 是全部图标的精灵sprite文件其中包含idbadge-tm与idbadge-tm-fill两个symbol定义。图标列表模板 docs/layouts/partials/icons.html 中的引用方式即svg classbi width1em height1em fillcurrentColor use xlink:hrefbootstrap-icons.svg#badge-tm/ /svg精灵方式适合同页多次使用同一图标、需要复用且希望减少 DOM 体积的场景配合use可以任意变换尺寸和颜色。4. 下载独立 SVG 文件直接从 icons/badge-tm.svg或填充版 icons/badge-tm-fill.svg下载源文件用于静态资源、设计稿或无法引入构建工具的项目文档站图标页的 “Download SVG” 按钮见 single.html 第 109111 行提供的正是这两个文件。文档页背后front matter 如何驱动页面渲染badge-tm.md虽然只有几行 front matter却是整个文档站图标页体系的“入口”。仓库使用 Hugo 生成文档站图标页模板 docs/layouts/icons/single.html 会基于该元数据自动渲染出完整页面标题与元信息展示模板用{{ .Title }}输出标题并用with .Params.tags/with .Params.categories将 front matter 中的tags: [trademark]与categories: [Badges]渲染为页面的标签与分类列表第 2227 行图标预览模板通过printf /icons/%s.svg .File.TranslationBaseName定位到仓库中的实际 SVG 文件并内联输出因此badge-tm.md对应的预览即来自 icons/badge-tm.svg并以 10em 字号大图、Heading、内联文本、链接、按钮、输入框等多种排版示例展示第 42105 行码点展示模板读取 font/bootstrap-icons.json以index $codepoints .File.TranslationBaseName取出61801并格式化为UF169、\f169、\uF169、#xF169;四种形式第 121139 行与上文的码点表格完全对应字体片段模板按printf i classbi bi-%s/i .File.TranslationBaseName自动生成i classbi bi-badge-tm/i供用户复制。而在图标总览页docs/layouts/partials/icons.html 会遍历所有Type icons的页面把 front matter 中的tags、categories写入data-tags、data-categories属性支撑搜索框的实时过滤同时用use xlink:href../bootstrap-icons.svg#badge-tm/在列表中渲染每个图标。因此可以说badge-tm.md的三行元数据既是该图标在文档站中的唯一内容源也是驱动 SVG 预览、字体码点、下载链接、搜索分类等整套页面逻辑的配置中心。小结badge-tm是 Bootstrap IconsBadges分类下的商标徽章图标标签为trademark源文件为 icons/badge-tm.svg 与填充版 icons/badge-tm-fill.svg图形结构为 16×16 网格上的圆角方框 TM 文字使用currentColor随上下文变色字体码点为UF169CSS\f169对应映射记录在 font/bootstrap-icons.json 与 font/bootstrap-icons.scss 中支持图标字体、内联 SVG、SVG 精灵、独立文件四种引入方式且精灵符号已内置在 bootstrap-icons.svg其文档页完全由 front matter 元数据驱动 single.html 模板自动生成理解了badge-tm.md也就理解了仓库中全部 2000 图标文档页的生成机制。赞分享前端【免费下载链接】iconsOfficial open source SVG icon library for Bootstrap.项目地址https://gitcode.com/gh_mirrors/ic/icons点击查看免费下载相关推荐Bootstrap Icons 的 Arrow Clockwise 图标全解析SVG 结构、字体码点与四种接入方式Bootstrap Icons 的 Arrow Clockwise 图标全解析SVG 结构、字体码点与四种接入方式 Arrow Clockwise 是 Boo前端Common Ground: {project_name}Common Ground: {project_name} Last updated: {timestamp} Project ID: {project_id}前端Yox构建工具集成Webpack、Vite、Rollup配置详解Yox构建工具集成Webpack、Vite、Rollup配置详解 Yox作为一款轻量级MVVM框架在实际项目开发中需要与现代构建工具配合使用以提升开发效率和前端上一篇突破时间序列预测瓶颈AutoGluon模型图结构深度解析与优化指南下一篇从小模型到大能力LFM2.5-Embedding-350M-4bit如何实现350M参数的高效利用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考