# Icon 图标 ### 介绍 基于 IconFont 字体的图标集,可以通过 Icon 组件使用。 ### 安装 ``` javascript import { createApp } from 'vue'; // vue import { Icon } from '@nutui/nutui'; // taro import { Icon } from '@nutui/nutui-taro'; const app = createApp(); app.use(Icon); ``` ## 代码演示 ### 基础用法 `Icon` 的 `name` 属性支持传入图标名称或图片链接。 ```html ``` ### 图标颜色 `Icon` 的 `color` 属性用来设置图标的颜色。 ```html ``` ### 图标大小 `Icon` 的 `size` 属性用来设置图标的尺寸大小,默认单位为 `px`。 ```html ``` ### 自定义图标 如果需要在现有 Icon 的基础上使用更多图标,可以引入第三方 iconfont 对应的字体文件和 CSS 文件,之后就可以在 Icon 组件中直接使用。 > 方案一 引入 [iconfont](https://www.iconfont.cn/) 推荐此方案 第一步:首先在 [iconfont](https://www.iconfont.cn/) 生成你自定义的Icon文件下载存放至本地项目 [详细使用说明](https://www.iconfont.cn/help/detail?spm=a313x.7781069.1998910419.d8d11a391&helptype=code) ``` bash /assets/font/demo.css /assets/font/demo_index.html /assets/font/iconfont.css /assets/font/iconfont.js /assets/font/iconfont.json /assets/font/iconfont.ttf /assets/font/iconfont.woff /assets/font/iconfont.woff2 ``` 第二步:项目入口文件 main.js 引用 `iconfont.css` ``` javascript import './assets/font/iconfont.css'; ``` 第三步: ```html ``` > 方案二 第三方自定义字体库 ```css /* 引入第三方或自定义的字体图标样式 */ @font-face { font-family: 'my-icon'; src: url('./my-icon.ttf') format('truetype'); } .my-icon { font-family: 'my-icon'; } .my-icon-extra::before { content: '\e626'; } ``` ```html ``` 自定义 iconfont [Demo示例](https://github.com/jdf2e/nutui-demo/blob/master/vite/src/App.vue#L15) ## API ### Props | 参数 | 说明 | 类型 | 默认值 | |-----------------|-----------------------------------------|------------------|------------------| | name | 图标名称或图片链接 | String | - | | color | 图标颜色 | String | - | | size | 图标大小,如 `20px` `2em` `2rem` | String or Number | - | | font-class-name | 自定义 icon 字体基础类名 | String | `nutui-iconfont` | | class-prefix | 自定义 icon 类名前缀,用于使用自定义图标 | String | `nut-icon` | | tag | HTML 标签 | String | `i` | ### Events | 事件名 | 说明 | 回调参数 | |--------|----------------|--------------| | click | 点击图标时触发 | event: Event |