iconfontのsymbol的使用

unicode
优点:

1.兼容性最好,支持ie6+
2.支持按字体的方式去动态调整图标大小,颜色等等
缺点:
1.不支持多色图标
2.在不同的设备浏览器字体的渲染会略有差别,在不同的浏览器或系统中对文字的渲染不同,其显示的位置和大小可能会受到font-size、line-height、word-spacing等CSS属性的影响,而且这种影响调整起来较为困难
3.不直观,看unicode码很难分辨什么图标

fontclass

1.兼容性良好,支持ie8+
2.相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么

symbol

1.支持多色图标了,不再受单色限制
2.支持像字体那样通过font-size,color来调整样式。
3.支持 ie9+
4.可利用CSS实现动画
5.减少HTTP请求
6.矢量,缩放不失真
7.可以很精细的控制SVG图标的每一部分

下面是使用symbol方式的详细步骤

  1. 进入https://www.iconfont.cn/选择一个你喜欢的图标库,将图标加入购物车。
  2. 点击右上角购物车打开购物车
  3. 加入项目,没有就新建一个项目,点击确定,跳转到我的项目
  4. (菜单栏->图标管理->我的项目),点击下载到本地
  5. 把如图js文件移动到项目中
  6. 使用 demo
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>icon</title>
  8. <style>
  9. .icon {
  10. width: 1em;
  11. height: 1em;
  12. vertical-align: -0.15em;
  13. fill: currentColor;
  14. overflow: hidden;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <svg class="icon" aria-hidden="true">
  20. <use xlink:href="#icon-food-macaron"></use>
  21. </svg>
  22. <script src="./icon/iconfont.js"></script>
  23. </body>
  24. </html>

注意xlink:href的值前面带有#,在我的项目中,每个图标对应一个id。

快速将多个图标添加到购物车,控制台输入如下代码执行

  1. var icon=document.getElementsByClassName('icon-gouwuche1');
  2. for(var i=0;i<icon.length;i++){
  3. icon[i].click();
  4. }

版权声明:本文为guangzan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/guangzan/p/11222927.html