news 2026/9/29 2:38:43

Bootstrap Icons 的 cloud-arrow-up 图标:源码解析与五种实际用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Bootstrap Icons 的 cloud-arrow-up 图标:源码解析与五种实际用法
  • 前端

【免费下载链接】icons

Official open source SVG icon library for Bootstrap.

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

本指南围绕 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 的绘制逻辑

  1. 云朵主体(第二个<path>):先用二次贝塞尔曲线勾勒出五边形云朵轮廓——顶部起始于(8, 2),向右延伸至(13.166, 6.579)附近的凸起,右侧边缘滑向(12.687, 13)的底部平台,左侧经(0, 9.318)弧线回落到(3.781, 13)。坐标中的A/C弧线指令保证了云朵边界的平滑曲线质感。
  2. 向上箭头(第一个<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:&#xF297;(等价于&#x62F7;)
  • 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):

  1. npm run icons-main(node build/build-svgs.mjs):对icons/*.svg做 SVGO 优化;
  2. npm run icons-sprite(svg-sprite):合并生成根目录 bootstrap-icons.svg;
  3. 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 字体文件;
  4. 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码点时,背后指向的都是这同一个矢量源,这就是“一个图标、多种分发形态”的工程化设计。

小结

需求场景推荐方案关键资源
零依赖、可动画、可改色内联 SVGicons/cloud-arrow-up.svg
类名快速引用、全局统一字体Icon Fontfont/bootstrap-icons.css
多图标复用、合并加载SVG Spritebootstrap-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.

项目地址:https://gitcode.com/gh_mirrors/ic/icons
点击查看免费下载
上一篇:layerdivider进阶技巧:调整CIEDE2000阈值优化分层效果的专业方法
下一篇:3步快速部署:用NocoDB打造你的可视化数据库管理平台

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 2:38:10

trackerslist:BT 公共 Tracker 列表完整使用指南

trackerslist&#xff1a;BT 公共 Tracker 列表完整使用指南 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist trackerslist 是一个每天自动更新的 BitTorrent 公共 Tracker …

作者头像 李华
网站建设 2026/9/29 2:35:22

Keil环境下单片机串口printf打印中文乱码解决全攻略

1. 串口打印中文这件事&#xff0c;为什么值得单独拎出来讲搞过单片机的人都有一个共同习惯&#xff1a;调试阶段第一件事就是把串口打通&#xff0c;然后用printf往电脑上怼信息。打印英文和数字从来不是问题&#xff0c;一行printf("Hello\r\n")就能跑起来。可一旦…

作者头像 李华
网站建设 2026/9/29 2:35:08

模拟器真机参数改造防检测:从ARM指令集到电池传感器

在安卓开发和测试圈里&#xff0c;模拟器一直是个又爱又恨的东西。爱它开箱即用、多开方便&#xff0c;恨它一进应用就被识别出来&#xff0c;要么直接闪退&#xff0c;要么功能被限制。尤其是这两年&#xff0c;各类App对运行环境的校验越来越狠&#xff0c;银行类、社交类、游…

作者头像 李华
网站建设 2026/9/29 2:32:26

LVS三种模式实战:NAT、DR、TUN原理与配置全解析

搞负载均衡的兄弟们应该都听过LVS这三个字母&#xff0c;Linux Virtual Server&#xff0c;从当年章文嵩博士的开源项目一直活到今天&#xff0c;内核里自带IPVS模块&#xff0c;稳得一批。这么多年过去了&#xff0c;Nginx、HAProxy轮番上场&#xff0c;但LVS依然在不少核心链…

作者头像 李华
网站建设 2026/9/29 2:31:56

大模型数字化运营落地指南:场景拆解、成本测算与避坑实践

简介&#xff1a;这份PPTX演示文稿聚焦大模型与数字化运营的结合&#xff0c;系统性介绍深度神经网络架构、海量参数训练与计算资源需求等技术原理&#xff0c;并从自然语言处理、计算机视觉、语音交互到推荐系统等典型场景展开应用分析。针对数字化运营现状&#xff0c;梳理数…

作者头像 李华
网站建设 2026/9/29 2:31:22

PDFMathTranslate:3 分钟快速上手,不破坏公式的 PDF 论文翻译

PDFMathTranslate&#xff1a;3 分钟快速上手&#xff0c;不破坏公式的 PDF 论文翻译 【免费下载链接】PDFMathTranslate [EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译&#xff0c;支持 Google/…

作者头像 李华