本文来自网易云社区
作者:马宝
PNG:设计出高清PNG(2x / 3x) 前端可用不可改,千万别让设计重画
格式类型 | 颜色 | 应用场景 | 兼容性 | 渲染效果 | 维护成本 |
---|---|---|---|---|---|
Iconfont | 单色 | icons | 高 | 字体(抗锯齿) | 小到中雨 |
SVG | 多色 | img/banner / icons | 良好 | 矢量 | 毛毛雨 |
PNG | 多色 | img/banner / icons | 高 | 位图 | 大到暴雨 |
单列SVG在浏览器中兼容性在项目中是可接受的范围(别管IE 678 好么?),其它两项都比SVG好
浏览器兼容性 | Chrome | Edge | Firefox (Gecko) | IE | Opera | Safari |
---|---|---|---|---|---|---|
最低要求 | 1.0 | (Yes) | 1.5 (1.8) | 9.0 | 8.0 | 3.0.4 |
移动端浏览器 | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
最低要求 | 3.0 | (Yes) | 1.0 (1.8) | No support | (Yes) | 3.0.4 |
PNG Sprite,不灵活;维护成本高,设计高清@2x 3x图,设计师切图太累;
网页中的应用关系
理论上矢量优于位图,但对于渐变透明度、图层混合模式的支持;特殊的img/banner 的情景下,位图格式的视觉表现力强于矢量格式
优点
在使用上字体文件和普通的静态资源一样,既可以外链也可以内链,并且字体文件也可以使用gzip压缩 在移动端上,可以只使用truetype类型,非常灵活小巧
缺点
优点
缺点
不要想着一稿走天下;符合业务场景的解决方案才是好方案;一套方案兼容全部场景,不现实这一切都取决于浏览器支持。如果你的项目只兼容到 IE9+/安卓3+,inline SVG几乎在所有方面都比 icon font 要好。如果您需要更广泛的浏览器兼容性,inline SVG 方案会带来很多麻烦,不建议尝试(文件需要一个 PNG 副本,需要插入额外的元素以显示降级后的 PNG 版本,此时隐藏对应 SVG 元素…)
本文来自网易云社区,经作者马宝授权发布
网易云免费体验馆,0成本体验20+款云产品!
更多网易研发、产品、运营经验分享请访问网易云社区。