BootstrapVue 图标组件基于 bootstrap-icons
v1.5.0 源 SVG 构建。图标是选择加入的,这意味着需要明确导入它们才能使用。它们不会默认安装。你不需要 bootstrap-icons
作为依赖项。
用法
在项目中使用 BootstrapVue 时,BootstrapVue 图标不会自动安装,您必须明确包含它们。
图标继承其父容器元素的当前字体颜色和字体大小。要更改图标的颜色,请参阅变体部分,要更改图标的大小,请参阅大小部分。
所有图标都以 PascalCase 中的名称导出,前缀为 BIcon。即图标 'alert-circle-fill'
导出为 BIconAlertCircleFill
,图标 'x'
导出为 BIconX
,图标 'x-square-fill'
导出为 BIconXSquareFill
。
模块捆绑器
导入所有图标
import { Vue } from 'vue'
import { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'
Vue.use(BootstrapVue)
Vue.use(BootstrapVueIcons)
或
import { Vue } from 'vue'
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
Vue.use(BootstrapVue)
Vue.use(IconsPlugin)
导入特定图标
使它们全局可用
import { Vue } from 'vue'
import { BootstrapVue, BIcon, BIconArrowUp, BIconArrowDown } from 'bootstrap-vue'
Vue.use(BootstrapVue)
Vue.component('BIcon', BIcon)
Vue.component('BIconArrowUp', BIconArrowUp)
Vue.component('BIconArrowDown', BIconArrowDown)
或在特定页面或组件中使用
import { BIcon, BIconArrowUp, BIconArrowDown } from 'bootstrap-vue'
export default {
components: {
BIcon,
BIconArrowUp,
BIconArrowDown
},
props: {
}
}
如果你在项目中仅使用 BootstrapVueIcons
或 IconsPlugin
,你也可以仅导入所需的图标 CSS,而不是完整的 Bootstrap 和 BootstrapVue SCSS/CSS。
import { BootstrapVueIcons } from 'bootstrap-vue'
import 'bootstrap-vue/dist/bootstrap-vue-icons.min.css'
Vue.use(BootstrapVueIcons)
或使用图标 SCSS 源
import { BootstrapVueIcons } from 'bootstrap-vue'
import 'bootstrap-vue/src/icons.scss'
Vue.use(BootstrapVueIcons)
BootstrapVue 图标 SCSS/CSS 不依赖于任何 Bootstrap SASS 变量、混合、函数或 CSS 类(除了 Bootstrap text-{variant}
文本颜色实用程序类,如果使用 variant
属性)。请注意,图标 CSS 也包含在主 BootstrapVue SCSS/CSS 文件中。动画效果需要 BootstrapVue 自定义 SCSS/CSS。
浏览器
默认情况下,图标不会安装在 UMD 浏览器版本中,因此你必须显式包含图标库
<head>
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.min.css" />
<script src="//unpkg.com/vue@latest/dist/vue.min.js"></script>
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.min.js"></script>
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue-icons.min.js"></script>
</head>
如果仅使用图标
<head>
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue-icons.min.css" />
<script src="//unpkg.com/vue@latest/dist/vue.min.js"></script>
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue-icons.min.js"></script>
</head>
图标组件
你可以使用单个图标组件,或使用图标帮助器组件 <b-icon>
,将图标放置在项目模板中。
所有单个图标组件都以名称 <b-icon-{name}>
为前缀,其中 {name}
是上面 图标 部分中列出的图标名称之一。
使用单个图标组件
<template>
<div class="h2 mb-0">
<b-icon-arrow-up></b-icon-arrow-up>
<b-icon-exclamation-triangle-fill></b-icon-exclamation-triangle-fill>
</div>
</template>
使用 <b-icon>
帮助器组件
<template>
<div class="h2 mb-0">
<b-icon icon="arrow-up"></b-icon>
<b-icon icon="exclamation-triangle"></b-icon>
</div>
</template>
注意:使用 <b-icon>
时,你必须还导入所需的单个图标组件,除非你正在使用 IconsPlugin
或 BootstrapVueIcons
插件。
变体
默认情况下,图标继承其父元素的当前文本颜色。所有图标组件都提供 variant
属性,以应用 Bootstrap 上下文文本变体颜色之一
<template>
<div class="h2 mb-0">
<b-icon icon="exclamation-circle-fill" variant="success"></b-icon>
<b-icon icon="exclamation-circle-fill" variant="warning"></b-icon>
<b-icon icon="exclamation-circle-fill" variant="danger"></b-icon>
<b-icon icon="exclamation-circle-fill" variant="info"></b-icon>
<b-icon icon="exclamation-circle-fill" variant="primary"></b-icon>
<b-icon icon="exclamation-circle-fill" variant="secondary"></b-icon>
<b-icon icon="exclamation-circle-fill" variant="dark"></b-icon>
</div>
</template>
你还可以使用自定义 CSS 来设置图标颜色,可以通过直接 style
属性或通过自定义类
<template>
<div class="h2 mb-0">
<b-icon icon="battery-full" style="color: #7952b3;"></b-icon>
</div>
</template>
variant
属性将 颜色实用程序类 text-{variant}
放置在图标的根元素上。
尺寸
图标的默认宽度和高度为 1em
,这意味着它们将随当前字体大小的大小而缩放
<template>
<div>
<p class="h1 mb-2">Icon <b-icon icon="exclamation-circle-fill"></b-icon></p>
<p class="h2 mb-2">Icon <b-icon icon="exclamation-circle-fill"></b-icon></p>
<p class="h3 mb-2">Icon <b-icon icon="exclamation-circle-fill"></b-icon></p>
<p class="h4 mb-2">Icon <b-icon icon="exclamation-circle-fill"></b-icon></p>
<p class="h5 mb-2">Icon <b-icon icon="exclamation-circle-fill"></b-icon></p>
</div>
</template>
您还可以使用自定义 CSS 设置图标大小,可以通过直接 style
属性或自定义类来设置
<template>
<div>
<b-icon icon="exclamation-circle" style="width: 120px; height: 120px;"></b-icon>
</div>
</template>
您还可以使用 prop font-scale
根据指定因子缩放图标的当前字体大小
<template>
<div>
<b-icon icon="camera" font-scale="0.5"></b-icon>
<b-icon icon="camera" font-scale="1"></b-icon>
<b-icon icon="camera" font-scale="2"></b-icon>
<b-icon icon="camera" font-scale="3"></b-icon>
<b-icon icon="camera" font-scale="4"></b-icon>
<b-icon icon="camera" font-scale="5"></b-icon>
<b-icon icon="camera" font-scale="7.5"></b-icon>
</div>
</template>
另请参见下面的 缩放变换 部分,了解其他尺寸选项。
样式
通过使用 Bootstrap 的边框、背景和填充 实用程序类,您可以创建各种样式效果
<template>
<div style="font-size: 4rem;">
<b-icon icon="bell-fill" class="border rounded p-2"></b-icon>
<b-icon icon="bell-fill" class="border border-info rounded p-2" variant="info"></b-icon>
<b-icon icon="bell-fill" class="rounded-circle bg-danger p-2" variant="light"></b-icon>
<b-icon icon="unlock-fill" class="rounded bg-primary p-1" variant="light"></b-icon>
</div>
</template>
BootstrapVue 图标提供了几个 prop,用于将基本 SVG 变换应用于 <svg>
。所有变换都可以组合以增加效果。请注意,变换应用于 <svg>
内容,而不是 <svg>
边界框。
翻转
通过 flip-h
和 flip-v
prop 水平和/或垂直翻转图标。
<template>
<div style="font-size: 4rem;">
<b-icon icon="bar-chart-fill"></b-icon>
<b-icon icon="bar-chart-fill" flip-h></b-icon>
<b-icon icon="bar-chart-fill" flip-v></b-icon>
<b-icon icon="bar-chart-fill" flip-h flip-v></b-icon>
</div>
</template>
旋转
通过 rotate
prop 以指定角度旋转图标。正值将顺时针旋转图标,而负值将逆时针旋转图标。
<template>
<div style="font-size: 4rem;">
<b-icon icon="camera"></b-icon>
<b-icon icon="camera" rotate="45"></b-icon>
<b-icon icon="camera" rotate="90"></b-icon>
<b-icon icon="camera" rotate="180"></b-icon>
<b-icon icon="camera" rotate="270"></b-icon>
<b-icon icon="camera" rotate="-45"></b-icon>
</div>
</template>
请注意,在应用旋转之前执行任何 翻转。
缩放
通过 scale
prop 以任何正因子缩放图标。请注意,这会更改图标的可视大小,但不会更改其物理字体大小。为了说明这一点,我们为图标添加了背景颜色。
<template>
<b-row cols="2" cols-sm="4" class="text-center" style="font-size: 4rem;">
<b-col class="mb-2">
<b-icon icon="exclamation-circle" scale="0.5" class="bg-info"></b-icon>
</b-col>
<b-col class="mb-2">
<b-icon icon="exclamation-circle" class="bg-info"></b-icon>
</b-col>
<b-col class="mb-2">
<b-icon icon="exclamation-circle" scale="1.5" class="bg-info"></b-icon>
</b-col>
<b-col class="mb-2">
<b-icon icon="exclamation-circle" scale="2" class="bg-info"></b-icon>
</b-col>
</b-row>
</template>
如果您需要背景和/或边框随图标缩放,请改用 font-scale
prop。
平移
平移会影响图标位置,但不会更改或移动 svg 容器。若要在水平和/或垂直轴上移动图标,请对 shift-h
和 shift-v
属性使用任意数字值,包括小数。
对于 shift-v
,正值会将图标向上移动,而负值会将图标向下移动。对于 shift-h
,正值会将图标向右移动,而负值会向左移动。这两个属性都接受以 1/16em 为单位的值(相对于图标当前的字体大小)。
为了使示例更清晰,我们在图标上添加了背景色,以便你可以看到效果。
<template>
<b-row cols="2" cols-sm="4" class="text-center" style="font-size: 4rem;">
<b-col class="py-4 mb-2">
<b-icon icon="exclamation-circle" class="bg-info"></b-icon>
</b-col>
<b-col class="py-4 mb-2">
<b-icon icon="exclamation-circle" shift-v="8" class="bg-info"></b-icon>
</b-col>
<b-col class="py-4 mb-2">
<b-icon icon="exclamation-circle" shift-v="-8" class="bg-info"></b-icon>
</b-col>
<b-col class="py-4 mb-2">
<b-icon icon="exclamation-circle" shift-h="8" class="bg-info"></b-icon>
</b-col>
<b-col class="py-4 mb-2">
<b-icon icon="exclamation-circle" shift-h="-8" class="bg-info"></b-icon>
</b-col>
<b-col class="py-4 mb-2">
<b-icon icon="exclamation-circle" shift-v="16" class="bg-info"></b-icon>
</b-col>
<b-col class="py-4 mb-2">
<b-icon icon="exclamation-circle" shift-h="-8" shift-v="-8" class="bg-info"></b-icon>
</b-col>
<b-col class="py-4 mb-2">
<b-icon
icon="exclamation-circle"
scale="0.5"
rotate="45"
shift-h="-4"
shift-v="4"
class="bg-info"
></b-icon>
</b-col>
</b-row>
</template>
平移在所有旋转变换之后应用。与缩放一样,背景和边框不受影响。如果你需要将边框/背景与图标一起平移,请使用 Bootstrap 的边距 间距实用程序类。
动画图标
v2.7.0+
BootstrapVue 为图标包含以下内置动画
'cylon'
将图标左右滑动 'cylon-vertical'
将图标上下滑动 'fade'
淡入淡出图标 2.12.0+ 'spin'
平滑地顺时针旋转图标 'spin-reverse'
平滑地逆时针旋转图标 'spin-pulse'
顺时针旋转图标,但采用脉冲步进样式 'spin-reverse-pulse'
逆时针旋转图标,但采用脉冲步进样式 'throb'
缩放图标,使其淡入淡出 2.12.0+
若要使用动画,请将 animation
属性设置为上述动画名称之一。
<template>
<b-row class="text-md-center">
<b-col md="6" class="mb-3">
<p>Cylon animation:</p>
<b-icon icon="three-dots" animation="cylon" font-scale="4"></b-icon>
</b-col>
<b-col md="6" class="mb-3">
<p>Vertical cylon animation:</p>
<b-icon icon="three-dots-vertical" animation="cylon-vertical" font-scale="4"></b-icon>
</b-col>
<b-col md="6" class="mb-3">
<p>Fade animation:</p>
<b-icon icon="star-fill" animation="fade" font-scale="4"></b-icon>
</b-col>
<b-col md="6" class="mb-3">
<p>Spinning animation:</p>
<b-icon icon="arrow-clockwise" animation="spin" font-scale="4"></b-icon>
</b-col>
<b-col md="6" class="mb-3">
<p>Reverse spinning animation:</p>
<b-icon icon="arrow-counterclockwise" animation="spin-reverse" font-scale="4"></b-icon>
</b-col>
<b-col md="6" class="mb-3">
<p>Pulsing spin animation:</p>
<b-icon icon="arrow-clockwise" animation="spin-pulse" font-scale="4"></b-icon>
</b-col>
<b-col md="6" class="mb-3">
<p>Reversed pulsing spin animation:</p>
<b-icon icon="arrow-counterclockwise" animation="spin-reverse-pulse" font-scale="4"></b-icon>
</b-col>
<b-col md="6" class="mb-3">
<p>Throb animation:</p>
<b-icon icon="circle-fill" animation="throb" font-scale="4"></b-icon>
</b-col>
</b-row>
</template>
由于动画基于 CSS,因此它们在任何 SVG 变换发生之后应用
<template>
<div class="p-4">
<b-icon icon="clock" animation="spin" font-scale="4" shift-v="8"></b-icon>
</div>
</template>
BootstrapVue 定义的图标动画效果需要 BootstrapVue 的自定义 CSS。 animation
属性转换为类名 b-icon-animation-{animationName}
。
需要不同的样式动画?只需创建一个定义动画的自定义类,并将该类应用于图标组件,或创建 b-icon-animation-{animationName}
形式的新动画类,并将自定义动画名称传递给 animation
属性。
动画说明
堆叠图标
v2.3.0+
通过使用组件 <b-iconstack>
和单个图标上的 stacked
属性(<b-icon>
或 <b-icon-{icon-name}>
)将图标组合在一起,以创建复杂的图标
<template>
<div>
<b-iconstack font-scale="5">
<b-icon stacked icon="camera" variant="info" scale="0.75"></b-icon>
<b-icon stacked icon="slash-circle" variant="danger"></b-icon>
</b-iconstack>
<b-iconstack font-scale="5" rotate="90">
<b-icon stacked icon="chevron-right" shift-h="-4" variant="danger"></b-icon>
<b-icon stacked icon="chevron-right" shift-h="0" variant="success"></b-icon>
<b-icon stacked icon="chevron-right" shift-h="4" variant="primary"></b-icon>
</b-iconstack>
<b-iconstack font-scale="5">
<b-icon stacked icon="circle-fill" variant="info"></b-icon>
<b-icon stacked icon="bell-fill" scale="0.5" variant="white"></b-icon>
<b-icon stacked icon="circle" variant="danger"></b-icon>
</b-iconstack>
<b-iconstack font-scale="5" variant="white">
<b-icon stacked icon="square-fill" variant="dark"></b-icon>
<b-icon stacked icon="arrow-up-short" scale="0.5" shift-v="3" shift-h="-3"></b-icon>
<b-icon stacked icon="arrow-up-short" scale="0.5" shift-v="3" shift-h="3" rotate="90"></b-icon>
<b-icon stacked icon="arrow-up-short" scale="0.5" shift-v="-3" shift-h="3" rotate="180"></b-icon>
<b-icon stacked icon="arrow-up-short" scale="0.5" shift-v="-3" shift-h="-3" rotate="270"></b-icon>
</b-iconstack>
<b-iconstack font-scale="5">
<b-icon stacked icon="square"></b-icon>
<b-icon stacked icon="check"></b-icon>
</b-iconstack>
<b-iconstack font-scale="5">
<b-icon stacked icon="square"></b-icon>
<b-icon stacked icon="dot" shift-h="-3" shift-v="4"></b-icon>
<b-icon stacked icon="dot" shift-h="-3"></b-icon>
<b-icon stacked icon="dot" shift-h="-3" shift-v="-4"></b-icon>
<b-icon stacked icon="dot" shift-h="3" shift-v="4"></b-icon>
<b-icon stacked icon="dot" shift-h="3"></b-icon>
<b-icon stacked icon="dot" shift-h="3" shift-v="-4"></b-icon>
</b-iconstack>
</div>
</template>
<b-iconstack>
支持与单个图标上可用的相同的 variant
、font-size
、animation
和转换属性。
堆叠图标注释
- 请记住在内部图标组件上设置
stacked
属性! font-scale
属性不能用于内部图标组件 width
和 height
属性不能应用于内部图标组件 - 堆叠图标不能堆叠在另一个
<b-iconstack>
内
堆叠图标动画
<b-iconstack>
组件支持与单个图标相同的动画
<template>
<div>
<b-iconstack font-scale="5" animation="spin">
<b-icon stacked icon="camera" variant="info" scale="0.75" shift-v="-0.25"></b-icon>
<b-icon stacked icon="slash-circle" variant="danger"></b-icon>
</b-iconstack>
</div>
</template>
图标堆栈中的单个图标也可以被动画化(IE 11 除外)
<template>
<div>
<b-iconstack font-scale="5" animation="cylon">
<b-icon
stacked
icon="camera"
animation="throb"
variant="info"
scale="0.75"
></b-icon>
<b-icon
stacked
icon="slash-circle"
animation="spin-reverse"
variant="danger"
></b-icon>
</b-iconstack>
</div>
</template>
注释
- IE 11 不支持 SVG 中子元素的动画,因此只有
<b-iconstack>
组件可以被动画化。IE 11 用户将看不到子图标动画。 - 此组件的 BootstrapVue 定义的动画效果取决于
prefers-reduced-motion
媒体查询。有关更多详细信息,请参阅 无障碍文档的减少运动部分。
在组件中使用
轻松地将图标作为内容放置在其他组件中。
请注意,放置在 BootstrapVue 组件中的图标使用 BootstrapVue 的自定义 CSS,以对齐 Bootstrap 图标 <svg>
实现的当前问题以及额外的美观缩放进行额外的样式补偿(放置在下面列出的组件中的图标的字体将按 125% 缩放)。
<template>
<div>
<b-button size="sm" class="mb-2">
<b-icon icon="gear-fill" aria-hidden="true"></b-icon> Settings
</b-button>
<br>
<b-button variant="primary" class="mb-2">
Pay now <b-icon icon="credit-card" aria-hidden="true"></b-icon>
</b-button>
<br>
<b-button variant="outline-info" class="mb-2">
<b-icon icon="power" aria-hidden="true"></b-icon> Logout
</b-button>
<br>
<b-button size="lg" variant="primary" class="mb-2">
<b-icon icon="question-circle-fill" aria-label="Help"></b-icon>
</b-button>
</div>
</template>
<template>
<div>
<b-button-group>
<b-button variant="outline-primary">
<b-icon icon="tools"></b-icon> Settings
</b-button>
<b-button variant="outline-primary">
<b-icon icon="person-fill"></b-icon> Account
</b-button>
<b-button variant="outline-primary">
<b-icon icon="inbox-fill"></b-icon> Messages
</b-button>
</b-button-group>
</div>
</template>
<template>
<div>
<b-button-toolbar>
<b-button-group class="mr-1">
<b-button title="Save file">
<b-icon icon="cloud-upload" aria-hidden="true"></b-icon>
</b-button>
<b-button title="Load file">
<b-icon icon="cloud-download" aria-hidden="true"></b-icon>
</b-button>
<b-button title="New document">
<b-icon icon="file-earmark" aria-hidden="true"></b-icon>
</b-button>
</b-button-group>
<b-button-group class="mr-1">
<b-button title="Align left">
<b-icon icon="text-left" aria-hidden="true"></b-icon>
</b-button>
<b-button title="Align center">
<b-icon icon="text-center" aria-hidden="true"></b-icon>
</b-button>
<b-button title="Align right">
<b-icon icon="text-right" aria-hidden="true"></b-icon>
</b-button>
</b-button-group>
<b-button-group>
<b-button title="Bold">
<b-icon icon="type-bold" aria-hidden="true"></b-icon>
</b-button>
<b-button title="Italic">
<b-icon icon="type-italic" aria-hidden="true"></b-icon>
</b-button>
<b-button title="Underline">
<b-icon icon="type-underline" aria-hidden="true"></b-icon>
</b-button>
<b-button title="Strikethrough">
<b-icon icon="type-strikethrough" aria-hidden="true"></b-icon>
</b-button>
</b-button-group>
</b-button-toolbar>
</div>
</template>
<template>
<div>
<b-input-group size="sm" class="mb-2">
<b-input-group-prepend is-text>
<b-icon icon="search"></b-icon>
</b-input-group-prepend>
<b-form-input type="search" placeholder="Search terms"></b-form-input>
</b-input-group>
<b-input-group class="mb-2">
<b-input-group-prepend is-text>
<b-icon icon="tag-fill"></b-icon>
</b-input-group-prepend>
<b-form-tags
separator=" ,;"
tag-variant="primary"
placeholder="Enter new tags separated by space, comma or semicolon"
no-add-on-enter
></b-form-tags>
</b-input-group>
<b-input-group class="mb-2">
<b-input-group-prepend is-text>
<b-icon icon="person-fill"></b-icon>
</b-input-group-prepend>
<b-form-input type="text" placeholder="User ID"></b-form-input>
</b-input-group>
<b-input-group size="lg">
<b-input-group-prepend is-text>
<b-icon icon="envelope"></b-icon>
</b-input-group-prepend>
<b-form-input type="email" placeholder="[email protected]"></b-form-input>
</b-input-group>
</div>
</template>
列表组
<template>
<b-list-group>
<b-list-group-item class="d-flex justify-content-between align-items-center">
<b-icon icon="x-circle" scale="2" variant="danger"></b-icon>
Cras justo odio
</b-list-group-item>
<b-list-group-item class="d-flex justify-content-between align-items-center">
<b-icon icon="exclamation-triangle-fill" scale="2" variant="warning"></b-icon>
Dapibus ac facilisis in
</b-list-group-item>
<b-list-group-item class="d-flex justify-content-between align-items-center">
<b-icon icon="info-circle-fill" scale="2" variant="info"></b-icon>
Morbi leo risus
</b-list-group-item>
<b-list-group-item class="d-flex justify-content-between align-items-center">
<b-icon icon="check-square" scale="2" variant="success"></b-icon>
Incididunt veniam velit
</b-list-group-item>
</b-list-group>
</template>
下拉菜单
<template>
<div>
<b-dropdown variant="primary">
<template #button-content>
<b-icon icon="gear-fill" aria-hidden="true"></b-icon> Settings
</template>
<b-dropdown-item-button>
<b-icon icon="lock-fill" aria-hidden="true"></b-icon>
Locked <span class="sr-only">(Click to unlock)</span>
</b-dropdown-item-button>
<b-dropdown-divider></b-dropdown-divider>
<b-dropdown-group header="Choose options" class="small">
<b-dropdown-item-button>
<b-icon icon="blank" aria-hidden="true"></b-icon>
Option A <span class="sr-only">(Not selected)</span>
</b-dropdown-item-button>
<b-dropdown-item-button>
<b-icon icon="check" aria-hidden="true"></b-icon>
Option B <span class="sr-only">(Selected)</span>
</b-dropdown-item-button>
<b-dropdown-item-button>
<b-icon icon="blank" aria-hidden="true"></b-icon>
Option C <span class="sr-only">(Not selected)</span>
</b-dropdown-item-button>
</b-dropdown-group>
<b-dropdown-divider></b-dropdown-divider>
<b-dropdown-item-button>Some action</b-dropdown-item-button>
<b-dropdown-item-button>Some other action</b-dropdown-item-button>
<b-dropdown-divider></b-dropdown-divider>
<b-dropdown-item-button variant="danger">
<b-icon icon="trash-fill" aria-hidden="true"></b-icon>
Delete
</b-dropdown-item-button>
</b-dropdown>
</div>
</template>
使用 SVG
使用 SVG 非常棒,但它们确实有一些已知的问题需要解决。
- Internet Explorer 和 Edge 中的焦点处理已损坏。我们已将属性
focusable="false"
添加到 <svg>
元素。您可以在图标组件上设置属性 focusable="false"
来覆盖此设置。 - 浏览器不一致地将 SVG 作为
<img>
标记与语音辅助一起播报。因此,我们已添加属性 role="img"
和 alt="icon"
。您可以在需要时覆盖这些属性。 - Safari 在对不可聚焦的 SVG 使用
aria-label
时会跳过。因此,在使用图标时使用属性 aria-hidden="true"
,并使用 CSS 在视觉上隐藏等效标签。
图标
使用以下浏览器搜索和浏览可用图标。