阿里图标库iconfont的使用(font-cclass方式、symbol方式、动态创建方法)

本文介绍了阿里图标库iconfont的三种使用方式:font-class引用,symbol引用及其本地和网络引用,以及动态创建方法。font-class具有良好的兼容性但不支持多色图标;symbol支持多色图标,但兼容性较差。详细步骤包括拷贝代码,引入项目文件,获取类名,并应用到页面中。

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

iconfont的使用

font-class引用

特点
  1. 兼容性良好,支持ie8+,及所有现代浏览器。
  2. 使用class来定义图标,替换图标时,只需要修改class里面的unicode引用。
  3. 本质上是使用字体,所以多色图标不支持。
使用方法
  1. 网络引用

    1. 第一步:拷贝项目下面生成的fontclass代码:

      //at.alicdn.com/t/font_8d5l8fzk5b87iudi.css
      
    2. 第二步:挑选相应图标并获取类名,应用于页面:

      <i class="iconfont icon-xxx"></i>
      
  2. 本地引用

    1. 第一步:将项目下载到本地,通过以下方式进行引入:

      <style>
      	@import '../../assets/font/iconfont.css';
      </style>
      
    2. 第二步:挑选相应图标并获取类名,应用于页面:

      <i class="iconfont icon-xxx"></i>
      

symbol引用

特点
  1. 支持多色图标。
  2. 支持像字体那样,通过font-size,color来调整样式。
  3. 兼容性较差,支持 ie9+,及现代浏览器。
  4. 浏览器渲染svg的性能一般,还不如png。
使用方法
  1. 网络引用(配合 ant-design 组件库)

    1. 第一步:拷贝项目下面生成的symbol代码:

      //at.alicdn.com/t/font_8d5l8fzk5b87iudi.js
      

      然后打开 main.js 添加以下内容:

      const IconFont = Icon.createFromIconfontCN({
        scriptUrl: '//at.alicdn.com/t/font_2012018_uepygac1qqq.js',
      });
      Vue.component("IconFont", IconFont);
      
    2. 第二步:加入通用css代码(引入一次就行):

      <style type="text/css">
          .icon {
             width: 1em; height: 1em;
             vertical-align: -0.15em;
             fill: currentColor;
             overflow: hidden;
          }
      </style>
      
    3. 第三步:挑选相应图标并获取类名,应用于页面:

      <IconFont class="icon-btn" type="icon-express" />
      
  2. 本地引用

    1. 提前安装依赖 css-loader

    2. 从 iconfont 上将项目下载到本地,讲一下五个文件放入同一文件夹后放入 assets 文件夹。

      iconfont.css
      iconfont.eot
      iconfont.js
      iconfont.svg
      iconfont.woff
      
    3. 引入 css 和 js 文件

      引入 css

      <style>
      	@import '../../assets/images/font/iconfont.css'
      </style>
      

      引入 js

      <script>
      	import '../../assets/images/font/iconfont.js'
      </script>
      
    4. 加入通用 css 代码

      .icon {
          vertical-align: -0.15em;
          fill: currentColor;
          overflow: hidden;
          margin:0 auto;/*px*/
          width: 63px;
          height: 63px;
      }
      
    5. 使用如下代码添加 iconfont 元素

      <svg class="icon" aria-hidden="true">
         <use :xlink:href="#icon-shouyekuang-"></use>
      </svg>
      
动态创建方法(本地引用)

​ 前三步和使用方法(本地引用)相同。

  1. 动态添加 iconfont 元素

    <script>
        let svgns = "http://www.w3.org/2000/svg";
        let xlinkns = "http://www.w3.org/1999/xlink";
        let icon = document.createElementNS(svgns, "svg");
        icon.setAttribute("aria-hidden", true);
        let use = document.createElementNS(svgns, "use");
        use.setAttributeNS(xlinkns, "href", "#icon-emo");
        icon.appendChild(use);
        document.body.appendChild(icon)
    </script>
    

    注意:icon-emo (图标代码)前面需要带 #

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值