首页 > Web开发 > 详细

使用SVG作为WEB站点图标方案简介

时间:2020-03-22 21:46:00      阅读:66      评论:0      收藏:0      [点我收藏+]

前端世界变化好快,一时之间,SVG已经大有取代Icon Font 作为网页中显示图标的实现方案之势,相比Icon Font,它具有如下优点:

  1. 缩放无损还原,显示清晰
  2. 语义性良好
  3. 可用CSS控制图标样式以及动画
  4. 减少http请求

如果想具体看看svg和icon font具体对比对比,可以参考下CSS Trick的《Inline SVG vs Icon Font》这篇文章。

使用SVG图标有如下方法:

1.使用img、object、embed 标签直接引用SVG

此方法的缺点主要在于每个图标都需单独保存成一个 SVG 文件,使用时单独请求,增加了HTTP请求数量。

<img?src="http://www.w3school.com.cn/svg/rect1.svg"??width="300"?/>

2.Inline SVG,直接把SVG写入 HTML 中

Inline SVG 作为HTML文档的一部分,不需要单独请求。临时需要修改某个图标的形状也比较方便。但是Inline SVG使用上比较繁琐,需要在页面中插入一大块SVG代码不适合手写,图标复用起来也比较麻烦。

<body>
????<svg?width="100%"?height="100%">
????????<rect?x="20"?y="20"?width="250"?height="250"?style="fill:#fecdddd;"/>
????</svg>
</body>

3. SVG Defs/Symbols

一些提供制作 Icon Font 功能的网站(如icomoon)已经提供输出 SVG Sprites?。和传统的位图的雪碧图一样,将所有的图标以一定的间隔排列起来组成一整张大图片后,可以有效减少web请求次数。

更方便的是,我们可以使用类似引用的方式使用图标了。

<svg?class="icon">
??<use?xlink:href="/img/posts/svg-icons.svg#circle-check"></use>
</svg>
<svg?class="icon">
??<use?xlink:href="/img/posts/svg-icons.svg#circle-cross"></use>
</svg>

这个是我推荐的方式,除了自己制作外,一些项目也提供了SVG Sprites下载,如tabler-icons

参考文章:

使用SVG作为WEB站点图标方案简介

原文:https://www.cnblogs.com/TianFang/p/12548154.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!