
前端【免费下载链接】iconsOfficial open source SVG icon library for Bootstrap.项目地址https://gitcode.com/gh_mirrors/ic/icons点击查看免费下载clipboard-heart是 Bootstrap Icons当前仓库版本 v1.13.1见 package.json内置的复制粘贴 爱心语义图标在 docs/content/icons/clipboard-heart.md 中归类为Real world类别标签为copy、paste。本文以该图标为主体逐层拆解它的 SVG 路径结构、线框/实心两种形态、字符编码code point并给出内联 SVG、img、图标字体、雪碧图四种实战接入方案让读者既能在项目里直接用起来也能理解 Bootstrap Icons 从单图标 SVG 到字体与雪碧图的完整生成链路。一、图标元信息文档 front matter 说了什么Bootstrap Icons 的每个图标都对应 docs/content/icons/ 下的一个 Hugo 内容页。clipboard-heart页面的 front matter 非常简单--- title: Clipboard heart categories: - Real world tags: - copy - paste ---它定义了三个关键信息titleClipboard heart即该图标在文档站点上的展示名称同时也是页面 H1 标题的数据来源。categoriesReal world表示该图标属于现实世界物品分类区别于箭头、几何形状等抽象分类。tagscopy、paste指明该图标的语义场景是复制/粘贴。结合图形本身它在产品 UI 中常被用于表达复制到剪贴板后加入收藏/心愿单这类操作。这些元数据不仅驱动文档站点导航与检索对应模板 docs/layouts/icons/single.html 中 Tags / Category 的渲染也让搜索引擎和 Agent 能通过clipboard-heart精确索引到这个图标及其语义。二、SVG 源码解剖一个 16×16 网格上的三层图形图标原始文件位于 icons/clipboard-heart.svg完整内容如下svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-clipboard-heart viewBox0 0 16 16 path fill-ruleevenodd dM5 1.5A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5v1A1.5 1.5 0 0 1 9.5 4h-3A1.5 1.5 0 0 1 5 2.5zm5 0a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5z/ path dM3 1.5h1v1H3a1 1 0 0 0-1 1V14a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3.5a1 1 0 0 0-1-1h-1v-1h1a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3.5a2 2 0 0 1 2-2/ path dM8 6.982C9.664 5.309 13.825 8.236 8 12 2.175 8.236 6.336 5.31 8 6.982/ /svg整个图形由三个path构成布局在一个viewBox0 0 16 16的 16×16 网格上与 README 中New glyphs are designed on a 16x16px grid的约定一致见 README.md第一个 path顶部卡扣/标签绘制剪贴板上方的小提手。使用fill-ruleevenodd处理内部挖空——图形主体是一个宽 3 个单位x 从 6.5 到 9.5、高 2.5 个单位的圆角矩形内部再挖掉中心 2×1 的区域形成夹子轮廓。第二个 path剪贴板主体绘制外框。从左上角 (3, 1.5) 出发先向上预留 1 个单位的高度给提手再用圆角矩形闭合底部是常规的直角板身代表剪贴板挡板。第三个 path爱心M8 6.982 C9.664 5.309 13.825 8.236 8 12 2.175 8.236 6.336 5.31 8 6.982是一条以 x8 为对称轴的标准贝塞尔爱心曲线恰好落在剪贴板的中心位置构成clipboard heart的组合语义。注意根节点的两个关键属性width16 height16定义了图标的原始栅格尺寸fillcurrentColor意味着图标颜色默认继承当前元素的color值这也是 Bootstrap Icons 能被一行 CSS 换色的核心机制。线框与实心双形态仓库为该图标同时提供了实心版本 icons/clipboard-heart-fill.svg。对比可知两者差异实心版的爱心路径dM4 1.5h1v1H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5zm4 5.982c1.664-1.673 5.825 1.254 0 5.018-5.825-3.764-1.664-6.69 0-5.018将提手与外框合并为一个 path爱心曲线与线框版几何一致但内部填充区域更大外框直接连通不再留白线框版通过路径描边外框 独立爱心曲线表现细节实心版通过完整闭合区域表现块面。命名上以-fill后缀区分这正是 Bootstrap Icons 的通用约定——同一语义的 outline 与 filled 双形态并存。三、四种接入方式实战根据 README.mdBootstrap Icons 支持内联 SVG、img引用、雪碧图、CSS 字体四种方式clipboard-heart同样全部适用。安装依赖只需npm i bootstrap-icons使用 Composer 的 PHP 项目可以composer require twbs/bootstrap-icons方式一内联 SVG推荐可控性最强把 icons/clipboard-heart.svg 的内容直接粘贴进 HTML即可通过 CSS 控制尺寸与颜色svg xmlnshttp://www.w3.org/2000/svg width16 height16 fillcurrentColor classbi bi-clipboard-heart viewBox0 0 16 16 path fill-ruleevenodd dM5 1.5A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5v1A1.5 1.5 0 0 1 9.5 4h-3A1.5 1.5 0 0 1 5 2.5zm5 0a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5z/ path dM3 1.5h1v1H3a1 1 0 0 0-1 1V14a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3.5a1 1 0 0 0-1-1h-1v-1h1a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3.5a2 2 0 0 1 2-2/ path dM8 6.982C9.664 5.309 13.825 8.236 8 12 2.175 8.236 6.336 5.31 8 6.982/ /svg由于fillcurrentColor外层容器设color即可整体换色.icon-heart { color: #d63384; width: 24px; height: 24px; }方式二img引用无需内联代码直接用图片标签引用仓库中的 SVG 文件注意此时无法继承currentColor建议显式指定color或fillimg src/path/to/icons/clipboard-heart.svg altclipboard heart icon width16 height16方式三CSS 图标字体font引入 font/bootstrap-icons.css或压缩版 font/bootstrap-icons.min.css即可用类名渲染link relstylesheet hrefpath/to/font/bootstrap-icons.css i classbi bi-clipboard-heart/i字体方式的换色与缩放全部走 CSS与文本同等对待.bi-clipboard-heart { font-size: 2rem; color: #d63384; }SCSS 项目可以改用 font/bootstrap-icons.scssTypeScript 项目还能直接复用 font/bootstrap-icons.ts 中导出的图标 ID 联合类型BootstrapIconsId其中明确包含clipboard-heart与clipboard-heart-fill见 font/bootstrap-icons.ts用于构建类型安全的图标组件 props。方式四SVG 雪碧图sprite仓库根目录的 bootstrap-icons.svg 是由 svg-sprite.json 配置生成的全量雪碧图clipboard-heart在其中以symbol idclipboard-heart形式存在。使用方式svg width16 height16 fillcurrentColor use href/path/to/bootstrap-icons.svg#clipboard-heart/use /svg雪碧图方案适合一个文件管全部图标的场景浏览器只需加载一次 SVG后续通过#id引用即可。四、字符编码code point一个图标对应一个 Unicode 私有区字符图标字体本质上把每个 SVG 图形映射为一个 Unicode 码点。该映射关系保存在 font/bootstrap-icons.json 中clipboard-heart-fill: 63262, clipboard-heart: 6326363263十进制换算成十六进制即F71F。因此clipboard-heart的四种编程写法为形式写法说明UnicodeUF71F通用字符表示CSS\f71f用于content属性见 font/bootstrap-icons.cssJavaScript\uF71F字符串转义HTML#xF71F;实体引用这里也解释了 font/bootstrap-icons.scss 中clipboard-heart: \f71f的来源——字体子集是按\f71x连续码点分配的clipboard-heart-fill占\f71e紧随其后。五、文档站点是如何渲染这个图标的clipboard-heart的官方详情页并非手写 HTML而是由 Hugo 模板 docs/layouts/icons/single.html 根据同名 Markdown 自动生成渲染逻辑对理解图标工程化很有参考价值大图预览模板通过printf /icons/%s.svg .File.TranslationBaseName拼出图标路径再用readFile读取原始 SVG 并safeHTML注入页面见 single.html。也就是说页面展示的正是 icons/clipboard-heart.svg 的原始内容。字体用法示例模板直接输出i classbi bi-clipboard-heart/i供复制single.html。码点信息模板读取font/bootstrap-icons.json把十进制码点转成十六进制后展示 Unicode / CSS / JS / HTML 四种写法single.html。复制 HTML页面提供Copy HTML按钮直接把内联 SVG 源码拷给开发者使用依赖 package.json 中的clipboard依赖实现。本地复现文档站点需 Node.js 与 Hugo 环境npm i npm start # 等价于 docs-servehugo server --port 4000 --disableFastRender浏览器访问http://localhost:4000即可看到该图标的详情页。六、从源码到字体/雪碧图的生成链路如果你好奇单个clipboard-heart.svg如何变成 CSS 码点与雪碧图symbol可以沿着 package.json 的脚本追一遍npm run icons会依次执行icons-main、icons-sprite、icons-font见 package.json。icons-mainnode build/build-svgs.mjs用 SVGO 优化所有 SVG 并统一属性顺序svg-sprite --config svg-sprite.json负责把icons/*.svg合并成 bootstrap-icons.svgsvg-sprite.json 中removeAttrs配置会去掉fill与clip-rule属性这正是雪碧图内symbol不带fill的原因颜色交给引用处currentColor控制。icons-font-mainfantasticon根据 icons 目录生成 TTF/WOFF/WOFF2 字体以及 font/bootstrap-icons.json 码点映射、font/bootstrap-icons.css 与 font/bootstrap-icons.scss 样式、font/bootstrap-icons.ts 类型定义icons-font-min再用 clean-css 产出压缩版 font/bootstrap-icons.min.css。因此无论你采用哪种接入方式最终源头都是 icons/clipboard-heart.svg 这一个 16×16 的源文件。七、语义与适用场景建议结合该页面的Real world分类与copy / paste标签clipboard-heart在真实产品中最常见的用法包括收藏/心愿单入口剪贴板 爱心的组合直观表达把当前内容复制保存下来并标记为喜爱例如商品详情页的加入心愿单按钮保存成功反馈配合复制操作后的状态提示如已复制点击收藏数据收藏列表与clipboard-check复制校验、clipboard-x复制失败等姊妹图标见 font/bootstrap-icons.css 与 font/bootstrap-icons.css组成完整的剪贴板操作图标族。需要强调的工程要点需要强调的实心形态时改用clipboard-heart-fill\f71e与线框版配套使用可实现 hover/激活态切换图标字体方式的颜色继承currentColor内联 SVG 同理img引用则需显式设置所有图标默认基于 16×16 视口设计放大到 24px、32px 时建议保持等比缩放避免变形。至此从 docs/content/icons/clipboard-heart.md 的元信息出发你已经完整掌握该图标的 SVG 结构、双形态差异、四种接入方式、字符编码以及背后的生成链路可以直接在 Bootstrap 生态项目或其他前端工程中落地使用。赞分享前端【免费下载链接】iconsOfficial open source SVG icon library for Bootstrap.项目地址https://gitcode.com/gh_mirrors/ic/icons点击查看免费下载相关推荐Bootstrap Icons 的 basket2-fill 图标从 SVG 源码到字体与雪碧图的完整使用指南Bootstrap Icons 的 basket2 fill 图标从 SVG 源码到字体与雪碧图的完整使用指南 Bootstrap Icons 官方开源图标库前端Bootstrap Icons 的 Calendar Event 图标详解从 SVG 源码到字体、雪碧图与无障碍实践Bootstrap Icons 的 Calendar Event 图标详解从 SVG 源码到字体、雪碧图与无障碍实践 Bootstrap Icons 是 Bo前端Bootstrap Icons 的 bookmark-heart 图标全解析SVG 结构、字体码点与四种使用方式Bootstrap Icons 的 bookmark heart 图标全解析SVG 结构、字体码点与四种使用方式 bookmark heart 是 Boots前端上一篇Rolldown generateBundle 钩子完全指南在产物落盘前对输出文件做增删改下一篇CAI PRO 企业级功能全景指南解锁 Alias1 无限 Token、多终端并行 Agent 与四层 Guardrails创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考