- 前端
【免费下载链接】icons
Official open source SVG icon library for Bootstrap.
本指南围绕 Bootstrap Icons 官方开源 SVG 图标库中的cloud-arrow-up图标展开,结合仓库内的 SVG 源文件、Hugo 文档模板与字体构建产物,讲解其图形结构、Unicode 码点信息,并给出内联 SVG、Icon Font、SVG Sprite 三种主流引入方式的可复制代码。读完本文,你将掌握在任意 Web 项目中正确使用cloud-arrow-up(云朵 + 向上箭头,常用于“上传到云端”)的全部关键信息。
图标概述:含义、分类与命名
cloud-arrow-up是 Bootstrap Icons 图标库中“云朵上传”语义的代表图标。在 docs/content/icons/cloud-arrow-up.md 中,该图标被归类为:
- Category(分类):
Clouds - Tags(标签):
upload
这一分类与标签体系由仓库的 Hugo 文档站点直接消费。以 docs/layouts/partials/icons.html 为例,每个图标页面的 front matter 会渲染为data-categories与data-tags属性,供站内搜索框(Start typing to filter...)基于 Fuse.js 做实时过滤;docs/layouts/icons/single.html 则会把 Tags 与 Category 展示在图标详情页头部。因此,无论你是想给按钮加一个“上传到云端”的视觉指示,还是想在文档站点里组织图标素材,cloud-arrow-up的语义定位都很明确。
SVG 源码结构深度解析
图标的矢量源文件位于 icons/cloud-arrow-up.svg,完整内容如下:
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-cloud-arrow-up" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708z"/> <path d="M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383m.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z"/> </svg>画布与设计约定
viewBox="0 0 16 16":所有 Bootstrap Icons 均基于 16×16 的逻辑画布绘制,保证在任意width/height下等比缩放不失真。fill="currentColor":图标不写死颜色,而是继承宿主元素的color,因此可通过 CSS 的color属性一行改色。class="bi bi-cloud-arrow-up":源文件预置了字体图标类名,便于在构建流程中与 font/bootstrap-icons.scss 的类选择器体系对齐。
两条 path 的绘制逻辑
- 云朵主体(第二个
<path>):先用二次贝塞尔曲线勾勒出五边形云朵轮廓——顶部起始于(8, 2),向右延伸至(13.166, 6.579)附近的凸起,右侧边缘滑向(12.687, 13)的底部平台,左侧经(0, 9.318)弧线回落到(3.781, 13)。坐标中的A/C弧线指令保证了云朵边界的平滑曲线质感。 - 向上箭头(第一个
<path>,带fill-rule="evenodd"):箭头杆沿画布中轴线x=8竖直分布,从(7.646, 5.146)向上、向右各偏移 0.5 单位形成箭头的两个斜边,最终通过evenodd填充规则与云朵主体做正确叠加,确保箭头实心区域与云朵空洞区域互不干扰。
同系列配套图标
仓库还提供了填充版本 icons/cloud-arrow-up-fill.svg(云朵内部实心填充)。与cloud-arrow-down(icons/cloud-arrow-down.svg,语义为下载)互为镜像场景,适合在上传/下载双向操作栏中成对使用。
图标字体中的编码信息(Code Point)
Bootstrap Icons 会把全部 SVG 打包为 Web 字体。cloud-arrow-up在字体体系中的关键映射如下:
| 来源文件 | 对应条目 | 数值 |
|---|---|---|
| font/bootstrap-icons.json | "cloud-arrow-up": 62103 | 十进制 62103(0xF297) |
| font/bootstrap-icons.css | .bi-cloud-arrow-up::before { content: "\f297"; } | CSS 转义\f297 |
font/bootstrap-icons.scss 中的$bootstrap-icons-map | "cloud-arrow-up": "\f297" | SCSS map 键值对 |
由此可派生出四种跨语言的 Unicode 写法:
- HTML:
(等价于拷) - CSS:
\f297 - JS:
\uf297 - Unicode 标注:
U+F297
这些写法在 docs/layouts/icons/single.html 的 Code point 区块由 Hugo 模板根据 JSON 自动生成并展示,即{{ $hexCodepoint }}的计算结果。
五种实战用法
1. 直接内联 SVG(推荐,零依赖)
将 icons/cloud-arrow-up.svg 的内容粘贴进 HTML,即可随 DOM 一起渲染,天然支持 CSS 变量、currentColor继承与动画:
<button type="button" class="btn btn-primary"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-cloud-arrow-up" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708z"/> <path d="M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383m.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z"/> </svg> Upload to cloud </button>2. 使用 Icon Font(字体类名)
先引入字体样式(任选其一):
<link rel="stylesheet" href="font/bootstrap-icons.css"> <!-- 或压缩版 --> <link rel="stylesheet" href="font/bootstrap-icons.min.css">再使用预置类名:
<i class="bi bi-cloud-arrow-up"></i>字体类名的渲染规则定义在 font/bootstrap-icons.scss:.bi::before, [class^="bi-"]::before, [class*=" bi-"]::before统一设置font-family: "bootstrap-icons"、font-style: normal与vertical-align: -.125em(用于基线对齐微调)。字体文件本身由@font-face加载 font/fonts/ 下的bootstrap-icons.woff2/.woff,并携带 24e3eb84d0bcaf83d77f904c78ac1f47 的 hash 参数做缓存控制。
修改颜色只需一行 CSS:
.bi-cloud-arrow-up { color: #0d6efd; }3. 使用 SVG Sprite(symbol 引用)
仓库根目录的 bootstrap-icons.svg 是全体图标的 symbol 集合(由npm run icons-sprite基于 svg-sprite.json 构建)。引入 sprite 后通过<use>引用:
<svg class="bi" width="24" height="24" fill="currentColor"> <use xlink:href="bootstrap-icons.svg#cloud-arrow-up"></use> </svg>这与文档站列表页 docs/layouts/partials/icons.html 的做法一致——非首页场景下,站点通过<use xlink:href="../bootstrap-icons.svg#...">渲染全部图标。Sprite 方式的优势是页面只需加载一份合并文件,后续图标复用零额外请求。
4. 直接下载单个 SVG
icons/cloud-arrow-up.svg 本身即可独立交付。文档页 docs/layouts/icons/single.html 提供了 Download 区块:SVG 路径由模板拼接为/icons/cloud-arrow-up.svg,并提供download属性的下载按钮。你可以把它直接交给设计师编辑,或作为<img>标签的静态资源:
<img src="icons/cloud-arrow-up.svg" alt="Upload to cloud" width="16" height="16">5. 在文档站中扩展元数据
如果自建 Hugo 文档站点,可在docs/content/icons/下为图标补充 front matter 字段(参考现有 docs/content/icons/cloud-arrow-up.md 的骨架,标题、分类、标签由---包裹的 YAML 定义),再经由single.html与partials/icons.html自动获得详情页、标签筛选与搜索支持。
从源码看完整使用链路
cloud-arrow-up的产出链路贯穿整个仓库构建脚本(见 package.json):
npm run icons-main(node build/build-svgs.mjs):对icons/*.svg做 SVGO 优化;npm run icons-sprite(svg-sprite):合并生成根目录 bootstrap-icons.svg;npm run icons-font(fantasticon + cleancss):从 SVG 生成 font/bootstrap-icons.css、.min.css、font/bootstrap-icons.json、font/bootstrap-icons.scss 及 font/fonts/ 下的 woff/woff2 字体文件;npm run release:依次执行icons、docs-build(Hugo 构建文档站)与icons-zip,产出bootstrap-icons-1.13.1.zip发布包。
也就是说,icons/cloud-arrow-up.svg 是唯一手写源,其余 CSS、JSON、SCSS、Sprite 与字体产物全部由构建脚本自动派生。你在使用bi bi-cloud-arrow-up类名或U+F297码点时,背后指向的都是这同一个矢量源,这就是“一个图标、多种分发形态”的工程化设计。
小结
| 需求场景 | 推荐方案 | 关键资源 |
|---|---|---|
| 零依赖、可动画、可改色 | 内联 SVG | icons/cloud-arrow-up.svg |
| 类名快速引用、全局统一字体 | Icon Font | font/bootstrap-icons.css |
| 多图标复用、合并加载 | SVG Sprite | bootstrap-icons.svg |
| 设计师协作、静态图片 | 独立 SVG 下载 | icons/cloud-arrow-up.svg |
cloud-arrow-up是 Bootstrap Icons 1.13.1 中语义清晰的“上传到云端”图标:由两段 path 构成的云朵 + 中轴向上箭头,码点为U+F297,支持内联 SVG、Icon Font、SVG Sprite 三种主流接入方式。需要下载语义时,可与其镜像图标 icons/cloud-arrow-down.svg 成对使用。
- 前端
【免费下载链接】icons
Official open source SVG icon library for Bootstrap.
相关推荐
Bootstrap Icons 的 arrow-up-square-fill 图标全解析:SVG 路径结构、字体码点与五种实战用法
Bootstrap Icons 的 arrow up square fill 图标全解析:SVG 路径结构、字体码点与五种实战用法 arrow up squar
前端Bootstrap Icons 实战:arrow-up-right-circle-fill 图标源码解析与四种使用方式
Bootstrap Icons 实战:arrow up right circle fill 图标源码解析与四种使用方式 本文以 Bootstrap Icons
前端Bootstrap Icons 的 arrow-up-right-square-fill 图标:SVG 源码、字体用法与全套实现解析
Bootstrap Icons 的 arrow up right square fill 图标:SVG 源码、字体用法与全套实现解析 本文以 Bootstrap
前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考