Skip to content

从零开始搭项目 - 图标

  • SVG or 字体图标?
  • 像使用字体图标一样使用SVG图标
  • SVG雪碧图
  • 维护图标

SVG or 字体图标?

首先,我们先看看两种图标方案在各方面的表现如何:

特性SVG字体图标
使用门槛
多色支持不支持
渲染效率一般
定位
兼容性一般
清晰度可能存在锯齿

注:以上对于渲染效率的描述是来自网络上的说法,笔者并没有进行真实的测试。

很显然,在多色这个特性上,SVG是完全胜出的。如果你的项目使用了多色图标或未来会使用到多色图标,那你只能选择SVG方案。

本项目使用了SVG作为图标方案,理由是:

  • 可能会使用到多色图标
  • 本项目作为解决方案集合,遵从“用新不用旧”的原则

注意

有充分的理由说明,在选择图标方案时,选择一种图标方案,而不是两种混用。 因为两种图标方案其实达到的目的是一致的,混用两种方案,当新增一个图标时,既可以将其加入字体图标库,也可以加入SVG库,这样会给图标库的维护者和使用者造成困扰。

图标的定位是什么?

简单的说,定位就是你是否确切知道图标的尺寸信息。因为字体图标是将图标当成文字处理,当你设置某个字体图标为20px时,你并不能说这个图标的尺寸就是20 x 20,但SVG却可以,因为SVG并没有 font-size 的概念,你需要手动指定它的宽和高。

像使用字体图标一样使用SVG图标

SVG雪碧图

图标的维护