博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
svg图标使用心得
阅读量:6072 次
发布时间:2019-06-20

本文共 1178 字,大约阅读时间需要 3 分钟。

初次接触font-icon是使用font awesome库。font-icon比png 图标的优点是矢量(任意缩放也不失真),可通过css样式控制大小颜色,体积更小(可被缓存),使用Iconfont制作font-icon效率也大大提高。

使用Iconfont制作图标后导出的资源文件支持三种使用方式,分别是unicode,font-clss 和 symbol。各自的特点和使用步骤在示例中也有介绍详见demo。

促使我转向使用symbol方式的主要原因是web app开发中多色图标越来越多,原生app为追求简洁一般都避免使用多色图标,图标的颜色多体现app的主题色,web app 对这点要求并不严格;另外一个原因是只需要引入一份js文件,而font-class需要引入css文件和提供四种字体文件(svg,ttf,woff,eot).以下从两方面介绍symbol的使用:

  1. 制作svg sprite,这项工作是由设计师做的。symbol方式依据的是svg sprite技术,有一篇文章详细介绍了它的。但是实际上有更好的工具可以帮助生成,就是一款在线工具,只需要导入svg图标就能导出字体资源文件,详细做法可参考。
  2. 使用 svg 图标。在html页面上的使用步骤见上面的demo,此外svg图标可以封装成一个react组件,在react应用中使用,步骤如下:
  • 在html页面(一般是index.html)上引入svg sprite的js文件,这个文件可放在cdn服务器上并设置缓存,可以加速加载。
复制代码
  • 封装react组件
import React from 'react';import PropTypes from 'prop-types';const SvgIcon = ({  type, size, color, ...rest}) => {  return (    
);};SvgIcon.defaultProps = { size: null, color: null,};SvgIcon.propTypes = { type: PropTypes.string.isRequired, size: PropTypes.number, color: PropTypes.string,};export default SvgIcon;样式:.icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden;}使用:
复制代码

转载于:https://juejin.im/post/5bae1b2fe51d450e735e7aff

你可能感兴趣的文章
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
根据调试工具看Vue源码之组件通信(一)
查看>>
Thrift RPC 系列教程(5)—— 接口设计篇:struct & enum设计
查看>>
斯坦福-随机图模型-week1.5
查看>>
灵活的运用Model类
查看>>
hadoop 之分布式安装
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>
结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制...
查看>>
python-45: opener 的使用
查看>>
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>