UI/交互设计规范web前端-规范

新趋势:使用 SVG 替代 icon font

2015-08-25  本文已影响6411人  张未舟

本文为译文,原文标题:inline SVG VS icon font,链接:via

如果你正在为网站构建图标系统,你会有很多选择。如果你的 icon 需要使用位图,那么可能会选择 CSS Sprite 。如果使用矢量图标(近期更普遍使用的方案),你也会有一些选择,其中的两种方案是使用 inline SVG 或 icon font 。
针对二者的特点,我们来做一下比较。

(译者住:本文只比较以 inline 方式写入文档流的 SVG 方案,不讨论以 CSS background 写入背景图的方案。)

图标是矢量的

矢量图标有很大的优势:可调整大小而不失品质,在视网膜屏幕上也可以清晰显示,文件尺寸也非常小。

举一个我个人最近的例子,在 CodePen 项目中,一些 icon font 明显比那些 SVG 要模糊。(译者注:其实通过固定字号的 henting 可以解决这个问题)

SVG 和 icon font 比较

CSS 控制

这个回合里,SVG 的最大亮点是,这种格式的图标可以是彩色的。

定位

看看伪元素如何超出了它本身的界定框。 SVG 的界定框的大小就是 SVG 本身的大小。

诡异的问题

语义

无障碍(针对残障人士)

易用

浏览器兼容性

赢家

这一切都取决于浏览器支持。如果你的项目只兼容到 IE9+/安卓3+,inline SVG几乎在所有方面都比 icon font 要好。如果您需要更广泛的浏览器兼容性,我觉得 inline SVG 方案会带来很多麻烦,所以不建议尝试(比如文件需要一个 PNG 副本,需要插入额外的元素以显示降级后的 PNG 版本,隐藏对应 SVG 元素…这太麻烦了) 。

上一篇 下一篇

猜你喜欢

热点阅读