☰
Bootstrap Icons 图标详解:box-arrow-in-down 进入箭头图标的源码与全场景使用指南
2026/9/29 5:25:09 网站建设 项目流程
  • 前端

【免费下载链接】icons

Official open source SVG icon library for Bootstrap.

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

box-arrow-in-down 是 Bootstrap Icons 开源 SVG 图标库中"Box arrows(盒式箭头)"分类下的一个成员,语义上表达"箭头进入盒子并向下指向",常被用于下载、导入、入驻等交互场景。本文以 docs/content/icons/box-arrow-in-down.md 为起点,结合仓库中的 SVG 源文件、字体构建产物与文档站模板,完整讲解该图标的元数据定义、SVG 图形结构、字体编码(codepoint)以及从内嵌 HTML 到图标字体、SVG Sprite 的全部使用方式,读完即可在任何 Web 项目中直接落地使用。

图标身份:front matter 元数据

每个图标在文档站中对应一个 Markdown 文件,box-arrow-in-down 的元数据定义如下:

--- title: Box arrow in down categories: - Box arrows tags: - arrow - upload ---

这份 front matter 定义了图标页面的三层信息:

  • title:图标的显示名称,用于文档站详情页的标题与面包屑导航;
  • categories:所属分类为 "Box arrows",与box-arrow-in-up、box-arrow-in-left等组成一个方向箭头图标家族;
  • tags:arrow(箭头)与upload(上传),其中upload标签表明该图形在语义上被官方归类为"上传/进入"类操作,是选型时的关键词依据。

从文档站模板 docs/layouts/icons/single.html 可以看到,页面渲染时会读取Params.tags与Params.categories并以 "Tags" / "Category" 的形式展示,同时用.File.TranslationBaseName(即文件名box-arrow-in-down)动态拼接图标资源路径,实现"一个 front matter + 一个同名 SVG"驱动一个完整图标页面的生成机制。

SVG 源码逐段解析

该图标的矢量源文件位于 icons/box-arrow-in-down.svg,内容如下:

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-arrow-in-down" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1z"/> <path fill-rule="evenodd" d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z"/> </svg>

关键设计要点:

  • 16×16 设计网格:viewBox="0 0 16 16"与width="16" height="16"表明图标在 16×16 网格上绘制,符合 README 中"New glyphs are designed in Figma first on a 16x16px grid"的规范;
  • fill="currentColor":图形填充色继承文本颜色,这是图标能随 CSScolor属性变色的根本机制;
  • class="bi bi-box-arrow-in-down":内置的语义类名,与图标字体方案中的类名一一对应;
  • 两个fill-rule="evenodd"路径:
    • 第一个 path 绘制"盒子"外壳——底部开槽的矩形框(内壁开口在顶部居中位置),fill-rule="evenodd"保证重叠区域正确镂空,形成空心盒体;
    • 第二个 path 绘制箭头——从盒子开口处(坐标(8.5, 10.293)附近)向下指入盒内的箭头,并带有一个入盒的短柄,构成"进入盒子并向下"的完整视觉语义。

从源码结构可以推断,box-arrow-in-*家族共用同一套"带开口盒子 + 方向箭头"的构图范式,只是箭头方向与位置不同,视觉上保持高度一致的风格。

安装与引入方式

根据 README.md,Bootstrap Icons 已发布到 npm 与 Packagist,安装命令如下:

npm i bootstrap-icons
composer require twbs/bootstrap-icons

仓库已打包好构建产物(font/目录下的 CSS/SCSS/字体文件与根目录的bootstrap-icons.svgSprite),无需自行编译,安装后可直接使用。仓库文档站点npm start即可在http://localhost:4000本地预览每个图标的详情页。

使用方式一:内嵌 SVG(Copy HTML)

在文档站详情页中,模板 docs/layouts/icons/single.html 会把 icons/box-arrow-in-down.svg 的完整内容直接渲染为可复制的 HTML 片段。将上面的 SVG 源码原样粘贴进 HTML 即可,例如:

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-box-arrow-in-down" viewBox="0 0 16 16"> <path fill-rule="evenodd" d="M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1z"/> <path fill-rule="evenodd" d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z"/> </svg>

由于fill="currentColor",只需一条 CSS 规则即可控制颜色:

.bi-box-arrow-in-down { color: #0d6efd; }

使用方式二:<img>元素引用

可将单个 SVG 保存为本地文件后通过<img>引入,注意此时颜色由 SVG 自身属性决定:

<img src="icons/box-arrow-in-down.svg" alt="Box arrow in down" width="16" height="16">

使用方式三:图标字体(Icon font)

在文档站详情页右侧,"Icon font" 区块会动态生成字体用法片段(见 single.html):

<i class="bi bi-box-arrow-in-down"></i>

前提是引入字体 CSS。仓库中对应声明位于 font/bootstrap-icons.css:

.bi-box-arrow-in-down::before { content: "\f1bc"; }

该伪元素通过::before注入字体字符,字体文件本体在 font/fonts(woff/woff2 格式)。SCSS 版本同样有对应变量(见 font/bootstrap-icons.scss)。字体方案的优势是尺寸、颜色完全随文本属性走,例如font-size: 2rem; color: #198754;即可缩放与变色,且不产生额外 DOM 节点。

使用方式四:Code point(Unicode 编码)

图标字体背后的字符编码记录在 font/bootstrap-icons.json:

"box-arrow-in-down": 61884

十进制 61884 即十六进制F1BC。文档站模板 single.html 会根据该映射自动展示四种写法:

  • Unicode:U+F1BC
  • CSS:\f1bc(如上节伪元素中的转义写法)
  • JS:\uF1BC
  • HTML:&#xF1BC;

这意味着你还可以绕过字体类,直接用字符实体插入:&#xF1BC;(在已加载字体 CSS 的前提下渲染为图标)。

使用方式五:SVG Sprite

仓库根目录提供了打包好的 bootstrap-icons.svg 与对应索引 svg-sprite.json,可通过<use>引用 Sprite 中的符号,只需一份 SVG 文件即可复用全部图标:

<svg class="bi" width="16" height="16" fill="currentColor"> <use xlink:href="bootstrap-icons.svg#box-arrow-in-down"/> </svg>

Sprite 方案适合图标数量多、需要按需引用的场景,文件只需加载一次。

使用方式六:结合 Bootstrap 组件的实战示例

文档站模板 single.html 展示了该图标在真实 Bootstrap 组件中的典型用法,包括内联文本、链接、按钮组与输入框组。以下是可直接运行的组合示例:

<!-- 按钮内图标 --> <button type="button" class="btn btn-primary"> <i class="bi bi-box-arrow-in-down"></i> 导入数据 </button> <!-- 链接内图标 --> <a href="#" class="text-decoration-none"> 下载到本地 <i class="bi bi-box-arrow-in-down"></i> </a> <!-- 输入框前置图标 --> <div class="input-group"> <span class="input-group-text"><i class="bi bi-box-arrow-in-down"></i></span> <input type="text" class="form-control" placeholder="请输入导入路径"> </div>

由于图标填充色继承currentColor,在.btn、.btn-primary等组件上下文中会自动适配按钮文字颜色,无需额外处理。

相关图标家族与选型建议

box-arrow-in-*家族在仓库 icons 目录下共有 8 个方向变体:

图标文件含义
box-arrow-in-down.svg箭头进入盒子并向下
box-arrow-in-up.svg箭头进入盒子并向上
box-arrow-in-left.svg箭头进入盒子并向左
box-arrow-in-right.svg箭头进入盒子并向右
box-arrow-in-down-left.svg箭头进入盒子并指向左下
box-arrow-in-down-right.svg箭头进入盒子并指向右下
box-arrow-in-up-left.svg箭头进入盒子并指向左上
box-arrow-in-up-right.svg箭头进入盒子并指向右上

它们在字体文件中的 codepoint 相邻(如 bootstrap-icons.json 中box-arrow-in-down-left为 61882、box-arrow-in-down-right为 61883、box-arrow-in-down为 61884),CSS 类名依次为.bi-box-arrow-in-down-left、.bi-box-arrow-in-down-right、.bi-box-arrow-in-down(见 font/bootstrap-icons.css)。选型建议:当交互语义是"文件/数据进入系统并向下落位"(如下载完成、导入落库)时优先使用box-arrow-in-down;若语义强调"向外导出、弹出容器"则改用box-arrow-*(无 in)系列,避免方向与进出关系混淆。

小结

box-arrow-in-down 虽然只是 Bootstrap Icons 两千多个图标之一,但它的仓库形态完整呈现了该图标库的工程化设计:一个 front matter 元数据文件 + 一个 16×16 网格 SVG 源文件,经由构建流程产出字体(woff/woff2)、CSS/SCSS 类与 Sprite 索引,再由 Hugo 模板 docs/layouts/icons/single.html 动态生成含示例、下载、Icon font、Code point 与 Copy HTML 的完整详情页。掌握这一图标,也就掌握了 Bootstrap Icons 任意图标的定位方法与全部引入路径:内嵌 SVG、<img>、字体类、codepoint、Sprite,以及它们在 Bootstrap 按钮、链接和输入组中的组合用法。

  • 前端

【免费下载链接】icons

Official open source SVG icon library for Bootstrap.

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询