🎉 图标
图标是文字的隐喻,可以实现视觉引导和功能划分。
内置图标
内置图标是模板预先提供好的,开发者可以直接使用。模板默认以 Vant 作为移动端组件库,它提供了基于字体的图标集 Icon 组件。
我们可以像下面一样使用,非常地简单。
vue
<van-icon name="chat-o" />
大部分时候,内置的图标无法满足我们的需求场景,这就需要引入外部图标集。
外部图标
我们推荐 iconify。它是统一的图标框架,超过 150
多个图标集,和 200,000
个开源矢量图标,并且会定期更新图标。您可以在 iconify 或者 icones 中看到所有的图标集。
使用 iconify
有多种方式,我们模板使用 CSS icon 方案,此方案由 @unocss/preset-icons
提供支持,可以很好的和 Unocss 配合使用。
安装和使用
假设我们用到 carbon 图标集,首先安装它。
bash
pnpm add -D @iconify-json/carbon
安装完成后,还应该将其引入到 exclude 配置里。
INFO
所有以 @iconify-icons/
开头引入的的本地图标模块,都应该加入到下面的 exclude
里,因为平台推荐的使用方式是按需引入,不需要预构建,直接让浏览器加载。
然后像下面这样使用它。
vue
<!-- Sun in light mode, Moon in dark mode, from Carbon -->
<button class="i-carbon-sun dark:i-carbon-moon" />
TIP
请遵循以下约定使用图标:
<prefix><collection>-<icon>
<prefix><collection>:<icon>
图标插件
VSCode 用户,推荐安装 antfu.iconify 插件。它可以高亮图标的显示和自动完成。