在iview + vue项目中使用自定义icon图标

本文详细介绍了如何在使用Vue和iview的项目中引入自定义图标库,包括从设计师处获取图标、下载并配置图标库、在项目中正确设置font-family以确保图标正常显示的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近做一个后台管理系统,是用iview+vue cli2做的,在做的过程中需要将左侧的导航栏加入icon图标,但是iview库里的图标和UI要求不符,这就需要引入自己的图标库。

1. UI设计师会把自己做的图标库上传到阿里巴巴图标库,打开设计师给的图标库地址,把所有要用到的图标点击加入购物车

 

2. 到购物车中点击添加至项目

 

3.  给项目起个名字,点击确定,然后点击下载至本地

 

4. 把下面这些文件放到我的项目的static中,新建文件夹iconfont中

5. 在main.js中全局引入iconfont.css

 

6. 打开刚才下载好的文件里的demo_index.html,里面有三种形式的引用方式,我用的是class的方式,直接复制下面的class名即可

 

7. 在我的路由中加入icon配置,我以为能够正常显示了,发现根本就没显示出来

 

8. 看结构才发现font-family还是默认的iview设置好的,而自己引入的图标需要设置成 font-family: 'iconfont'

 

9. 所以要改变font-family的设置,注意这里不能再全局设置,开始我全局设置导致其他iview图标也会不显示,所以要找到左侧导航栏对应的文件,在其对应的结构中加入行内样式

 

10. 这样就完美的解决了,既能在左侧引入自定义图标也不会影响其他地方使用的iview图标

### iview UI Icon 图标库的使用方法 #### 自定义图标库的实现过程 为了在 `iview` 和 `Vue CLI 2` 的项目使用自定义图标,可以按照以下方式进行操作: 1. **获取图标资源** 设计师通常会将制作好的图标上传到阿里巴巴矢量图标库。开发者可以在该平台上浏览并选择所需的图标,将其加入购物车[^1]。 2. **创建项目并下载文件** 在购物车页面点击“添加至项目”,为项目命名后确认创建。随后可下载包含所需图标的压缩包,并将其解压后的文件放置于项目的静态资源目录下(如 `static/iconfont` 文件夹)[^1]。 3. **全局引入 CSS 文件** 修改 `main.js` 文件,通过相对路径或绝对路径的形式加载刚刚放入的 `iconfont.css` 文件: ```javascript import '@/static/iconfont/iconfont.css'; ``` 4. **调整字体族属性** 默认情况下,`iview` 已经设置了自身的 `font-family` 属性,这可能会覆盖新引入自定义图标样式。因此需要针对特定组件单独设置 `font-family` 值为 `'iconfont'` 或者其他指定名称[^1]。例如,在左侧导航栏对应的部分应用行内样式来解决冲突问题: ```html <i style="font-family: 'iconfont';" class="iconfont iconshebei1"></i> ``` 5. **配置路由中的图标参数** 若希望在菜单项里展示相应图标,则需更新路由表数据结构,增加关于图标的字段描述。然而仅此还够——如果发现实际渲染效果缺失预期图形的话,请核查上述提到过的 `font-family` 设置是否正确生效了[^1]。 6. **更改默认 Font Family 名称(可选)** 如果想沿用标准称呼 “iconfont”, 可以登录阿里云平台修改该项目专属前缀字符串, 比如改成 "i-icon". 随之而来的是 HTML 元素标签也需要同步变动成为匹配的新模式[^2]: ```html <!-- 使用 i-icon 替代原有 iconfont --> <Icon custom="i-icon iconshebei1" size="24"/> <i class="i-icon iconshebei1"></i> ``` 7. **处理复杂场景下的兼容性** 对某些特殊需求而言可能还需要额外步骤比如利用第三方软件辅助转换原始素材格式以及清理多余背景色等问题才能最终达到理想状态[^3]. --- ### 示例代码片段 以下是基于以上说明的一个简单例子演示如何集成自定义图标: ```javascript // main.js 中引入 css 文件 import '@/static/iconfont/iconfont.css'; export default { data() { return {}; }, }; ``` ```html <!-- 页面模板部分 --> <div id="app"> <Menu mode="inline"> <MenuItem name="home"> <i style="font-family: 'iconfont'" class="iconfont iconshebei1"></i> Home Page </MenuItem> </Menu> </div> ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值