Skip to content

Icon 图标

语义化的矢量图形。

基础用法

使用 name 属性来指定图标。

基础用法

不同尺寸

可以通过 size 属性来控制图标大小。支持数字(像素)和字符串(CSS 单位)。

不同尺寸

旋转动画

使用 spin 属性可以让图标旋转起来,常用于加载状态。

旋转动画

自定义 SVG

支持通过 svg 属性直接传入 SVG 的 path 内容或者使用默认插槽。

自定义 SVG

在 Nuxt 中使用

Icon 组件在 Nuxt 3/4 中集成非常简单。由于 Icon 底层基于轻量的内联 SVG 渲染,SSR 阶段即可生成完整的矢量图形代码。

Nuxt 中使用

SSR 注意事项

  • ✅ 内置图标在服务端直接渲染为精简的 SVG 路径,无首屏网络请求
  • ✅ 尺寸 (size) 和颜色 (color) 通过内联样式在服务端正确定位
  • ✅ 加载动画 (spin) 通过 CSS 动画在服务端即保持运动状态(或首屏即准备就绪)
  • ✅ 自动导入支持,提升开发效率

矢量优势

相比于字体图标(Icon Font),YH-UI 的 SVG Icon 方案更符合现代 Web 标准,且能完美避开 SSR 中常见的字体加载闪烁(FOIT/FOUT)问题。

API

Props

属性名说明类型默认值
name图标名称(内置图标集)string
svg自定义 SVG 内容 (不含 <svg> 标签)string
size图标尺寸number | string
color图标颜色stringcurrentColor
spin是否循环旋转booleanfalse
rotate旋转角度number0

Slots

插槽名说明
default自定义 SVG 内容

Released under the MIT License.