Bootstrap Icons 是Bootstrap 前端框架中,免费、高品质、开源图标库,包含 2,000 多个图标。随心所欲地添加它们 — SVG、SVG sprite 或 Web 字体。无论是否使用Bootstrap都可以使用该图标库。
安装
Bootstrap Icons 发布到 npm,但如果需要,也可以手动下载。
包管理器
使用 npm 或 Composer安装
npm i bootstrap-icons
CDN
<head>
在您的网站中或通过@import
CSS包含来自 jsDelivr 的图标字体样式表,并在几秒钟内开始使用。
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.2/font/bootstrap-icons.min.css">
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.2/font/bootstrap-icons.min.css");
用法
Bootstrap 图标是 SVG,因此您可以根据项目的设置方式,通过多种方式将它们包含到 HTML 中。我们建议使用width: 1em
(可选height: 1em
)通过 轻松调整大小font-size
。
嵌入式
将图标嵌入页面的 HTML 中(而不是外部图像文件)。在这里我们使用了自定义width
和height
.
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-emoji-heart-eyes" viewBox="0 0 16 16"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="M11.315 10.014a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.488 0c1.398-.864 3.544 1.838-.952 3.434-3.067-3.554.19-4.858.952-3.434z"/></svg>
Sprite
使用 SVG 精灵通过元素插入任何图标<use>
。使用图标的文件名作为片段标识符(例如,toggles
is #toggles
)。SVG 精灵允许您引用类似于元素的外部文件,但具有轻松主题化<img>
的功能。
<svg class="bi" width="32" height="32" fill="currentColor">
<use xlink:href="bootstrap-icons.svg#heart-fill"/>
</svg>
外部调用
将 Bootstrap Icons SVG 复制到您选择的目录,并像使用<img>
元素的普通图像一样引用它们。
<img src="/assets/icons/bootstrap.svg" alt="Bootstrap" width="32" height="32">
图标字体
Bootstrap 图标还包含图标字体以及每个图标的类。通过 CSS 在页面中包含图标 Web 字体,然后根据需要在 HTML 中引用类名称(例如<i class="bi-alarm-clock"></i>
)。
<i class="bi-alarm"></i>
CSS
您还可以在 CSS 中使用 SVG(确保转义任何字符,例如#
在%23
指定十六进制颜色值时)。当未通过width
和height
指定尺寸时<svg>
,图标将填充可用空间。
.bi::before {
display: inline-block;
content: "";
vertical-align: -.125em;
background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23333' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z' clip-rule='evenodd'/></svg>");
background-repeat: no-repeat;
background-size: 1rem 1rem;
}