iconfont svg

iconfont三种方式的优缺点

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
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>icon</title>

    <style>
        .icon {
            width: 1em;
            height: 1em;
            vertical-align: -0.15em;
            fill: currentColor;
            overflow: hidden;
        }
    </style>
</head>

<body>
    <svg class="icon" aria-hidden="true">
        <use xlink:href="#icon-food-macaron"></use>
    </svg>

    <script src="./icon/iconfont.js"></script>
</body>

</html>

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

补充

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

var icon=document.getElementsByClassName('icon-gouwuche1');
for(var i=0;i<icon.length;i++){
    icon[i].click();
}
posted @ 2019-07-21 21:47  guangzan  阅读(2251)  评论(0编辑  收藏  举报