Icon 图标

语义化的矢量图形。

图标列表

默认的图标集 @kousum/semi-icons-vue 包含面性、线性两套图标,默认不带颜色,可通过 css color属性更改颜色。

@kousum/semi-icons-lab-vue 为彩色图标集,需单独安装,不可改色, lab 图标集于 v2.48 后提供

icon

代码演示

如何引入

jsx
import Icon, { IconHome } from '@kousum/semi-icons-vue';
import { IconAvatar, IconCard } from '@kousum/semi-icons-lab-vue';

基础使用

@kousum/semi-icons-vue包中引入图标

旋转

@kousum/semi-icons-vue包中引入图标,自带尺寸、旋转、spin功能

尺寸

可以改变font-size来更改图标大小

Icon组件封装了size属性,可以更方便地定义图标尺寸,支持 extra-small (8x8),small (12x12), default (16x16), large (20x20), extra-large (24x24),当size指定为inherit时,图标大小继承当前上下文字体大小

颜色

图标会自动继承外部容器 CSS 的 color 属性 你还可以通过给 Icon 设置 style props 来修改图标的颜色。

自定义图标

可以使用自定义图标传入Icon组件 Icon组件支持size、rotate、spin等属性

API参考

Icon

属性说明类型默认值
className类名string
onClick单击图标的回调事件(e: Event) => void
onMouseDown鼠标按钮按下的回调事件 >=v1.21(e: Event) => void
onMouseEnter进入图标的回调事件(e: Event) => void
onMouseLeave离开图标的回调事件(e: Event) => void
onMouseMove移动鼠标的回调事件 >=v1.21(e: Event) => void
onMouseUp鼠标按钮抬起的回调事件 >=v1.21(e: Event) => void
rotate旋转度数number
size尺寸,支持inheritextra-smallsmalldefaultlargeextra-largestringdefault
spin旋转动画boolean
style图标样式CSSProperties
svg图标内容ReactNode

Accessibility

ARIA

  • Icon 组件 role 为 img,它的 aria-label 默认为组件的文件名。例如 IconHome 的 aria-label 为 home,如果你有更好的语义化名字,可以通过 aria-label 传入。
  • Icon 内部的 svg 元素为装饰元素,默认设置了 aria-hidden 以不被屏幕阅读器阅读