从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用.png来搭建已经基本上被淘汰了。取而代之的是使用css3和svg来绘制,而对于网页小图标,我们更希望在整个系统的前端架构中将它们做成字体库统一管理。如下图:

如果在任意一个页面只需要引用一个css样式就能实现库中的任意一个图标,而且只需要定义font-size就能控制图标的大小,是不是很方便?

我是主后端的程序员,很早以前就在项目中使用过字体图标,但是之前用于制作图标库的svg都是美工帮我画好,所以一直没有深究其中的原理,直到近期不得不自己制作才对其好好研究了一下。

这里先跟大家推荐两个管理字体图标库的工具网站:

icomoon.io

www.iconfont.cn/plus

icomoon大名鼎鼎,不过个人认为iconfont 阿里巴巴的矢量图标库更符合国人的使用习惯,可以托管图标,更方便做版本管理,不过缺点是阿里巴巴会对你上传的图标对所有人开放下载,而且每个图标必需限制在20k以内。

下面我从svg绘制和代码实现两方面将初次制作字体图标遇到的坎和大家分享一下,愿后来者不要入坑。


1、svg绘制

首先我们要准备的是矢量图绘制工具,这里我选择illustrator,以下是设计师给我的原图:

好,我先直接对它导出看看效果

除了文字,所有部分都不能用,而且蓝色的背景色是不能要的,不可能以后修改了背景色还要去修改图标。

为了找到是什么原因造成的,我对图标进行了重新绘制。

导出看了一下效果

好了之前唯一可用的文字也没了,于是在google和百度上查,最后找到了一则制作说明:

按照要求,我对外面的这个圈,文字(要先进行创建轮廓操作),箭头,还有问号下面这个点进行了轮廓化描边

哈哈,完美!


其实在制作过程中还是碰到了一个小问题,因为iconfont要求制作完成的svg必须要小于20k才能上传,由于我之前对illustrator工具的不了解,按照以前使用Photoshop的习惯,对不需要导出的画板和图层进行隐藏,然后存储为svg格式,但是文件的大小一直下不来:

我一直以为是我绘制的问题,实在找不到原因,于是改变画布的大小在尝试,这种做法可能有点傻,尝试之前我就知道矢量图尺寸跟文件的大小没有一丁点关系,但是也算是瞎猫碰上死耗子,当我增加了一个小画板再存储的时候看到了:

切换小画板再储存确实让文件的大小下来了,算是临时解决问题吧,但总觉得应该有更好的方案,这么做太麻烦了,导出之前还得记住画板的序号,这太反人类了,直到有一次我无意中将工作区切换成web工作模式:

原来直接可以将绘制好的图像拖到资源导出的区域,我是在完成所有的工作之后才发现这个功能,想想浪费的时间,心塞塞的~~~

  通过这件事我反省了下,其实很多“半路出家”的朋友都应该会碰到这类问题,后知后觉才感到以前走过的弯路是多么傻。而我,不单单美工、前端是“半路出家”,连我的主业后端也是“半路出家”。我最初学的专业是电子工程,以硬件为主,但是那时候了解到该专业的本科毕业生进入公司之后很多做的都是硬件销售的工作,或者是运维。而另一个方向,互联网创业工作室在学校里遍地开花,程序员们人人说着改变世界的伟大理想。当时我根本不懂编程,也不知如何入手,费了点心思自学了Photoshop和CorelDraw以美工身份加入到一个软件外包工作室,知道方向后在网上找各类学习资料自学,然后参加了各类比赛获得了不少奖项,最大的一个是省一等奖,自此走上程序员的道路。有收获自然也有难言的辛酸,报名比赛之前我根本不知道怎么完整地完成一件作品,曾经为了赶进度在图书馆的创作室一个礼拜没回去洗澡睡觉(夏天),被校领导碰到在图书馆的卫生间刷牙洗脸还被严厉批评了。现在回想起以前不眠不休的创作,到底有多少比例的时间是花到了点子上,但值得吗?值!如果我一开始选的专业就是计算机,可能在理论基础方面会比现在强,但我绝不认为能有现在的坚韧。

煽情到此为止,其实也就是对自己浪费时间的一个安慰而已。


2、网页实现

解决了svg的绘制问题之后网页上实现就非常简单了,甚至iconfont都已经把代码给我们写好了:

css

svg {
background: red;
}

html

<script src="http://at.alicdn.com/t/font_nbcbmernh4pr2j4i.js"></script>
<svg>
<use xlink:href="#icon-trouble"></use>
</svg>

这段js其实就是对svg的一个封装,更方便我们管理图标和实现。

补充说明:用js封装的方式不支持IE8及以下版本的浏览器,此外还可以将图标生成字体文件,然后通过css加载,这种方式兼容性更好,不过不支持单一图标实现多色彩。

雁过留声,阅过点赞哈~~~asfu 哦管理

从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用.png来搭建已经基本上被淘汰了。取而代之的是使用css3和svg来绘制,而对于网页小图标,我们更希望在整个系统的前端架构中将它们做成字体库统一管理。如下图:

如果在任意一个页面只需要引用一个css样式就能实现库中的任意一个图标,而且只需要定义font-size就能控制图标的大小,是不是很方便?

我是主后端的程序员,很早以前就在项目中使用过字体图标,但是之前用于制作图标库的svg都是美工帮我画好,所以一直没有深究其中的原理,直到近期不得不自己制作才对其好好研究了一下。

这里先跟大家推荐两个管理字体图标库的工具网站:

icomoon.io

www.iconfont.cn/plus

icomoon大名鼎鼎,不过个人认为iconfont 阿里巴巴的矢量图标库更符合国人的使用习惯,可以托管图标,更方便做版本管理,不过缺点是阿里巴巴会对你上传的图标对所有人开放下载,而且每个图标必需限制在20k以内。

下面我从svg绘制和代码实现两方面将初次制作字体图标遇到的坎和大家分享一下,愿后来者不要入坑。


1、svg绘制

首先我们要准备的是矢量图绘制工具,这里我选择illustrator,以下是设计师给我的原图:

好,我先直接对它导出看看效果

除了文字,所有部分都不能用,而且蓝色的背景色是不能要的,不可能以后修改了背景色还要去修改图标。

为了找到是什么原因造成的,我对图标进行了重新绘制。

导出看了一下效果

好了之前唯一可用的文字也没了,于是在google和百度上查,最后找到了一则制作说明:

按照要求,我对外面的这个圈,文字(要先进行创建轮廓操作),箭头,还有问号下面这个点进行了轮廓化描边

哈哈,完美!


其实在制作过程中还是碰到了一个小问题,因为iconfont要求制作完成的svg必须要小于20k才能上传,由于我之前对illustrator工具的不了解,按照以前使用Photoshop的习惯,对不需要导出的画板和图层进行隐藏,然后存储为svg格式,但是文件的大小一直下不来:

我一直以为是我绘制的问题,实在找不到原因,于是改变画布的大小在尝试,这种做法可能有点傻,尝试之前我就知道矢量图尺寸跟文件的大小没有一丁点关系,但是也算是瞎猫碰上死耗子,当我增加了一个小画板再存储的时候看到了:

切换小画板再储存确实让文件的大小下来了,算是临时解决问题吧,但总觉得应该有更好的方案,这么做太麻烦了,导出之前还得记住画板的序号,这太反人类了,直到有一次我无意中将工作区切换成web工作模式:

原来直接可以将绘制好的图像拖到资源导出的区域,我是在完成所有的工作之后才发现这个功能,想想浪费的时间,心塞塞的~~~

  通过这件事我反省了下,其实很多“半路出家”的朋友都应该会碰到这类问题,后知后觉才感到以前走过的弯路是多么傻。而我,不单单美工、前端是“半路出家”,连我的主业后端也是“半路出家”。我最初学的专业是电子工程,以硬件为主,但是那时候了解到该专业的本科毕业生进入公司之后很多做的都是硬件销售的工作,或者是运维。而另一个方向,互联网创业工作室在学校里遍地开花,程序员们人人说着改变世界的伟大理想。当时我根本不懂编程,也不知如何入手,费了点心思自学了Photoshop和CorelDraw以美工身份加入到一个软件外包工作室,知道方向后在网上找各类学习资料自学,然后参加了各类比赛获得了不少奖项,最大的一个是省一等奖,自此走上程序员的道路。有收获自然也有难言的辛酸,报名比赛之前我根本不知道怎么完整地完成一件作品,曾经为了赶进度在图书馆的创作室一个礼拜没回去洗澡睡觉(夏天),被校领导碰到在图书馆的卫生间刷牙洗脸还被严厉批评了。现在回想起以前不眠不休的创作,到底有多少比例的时间是花到了点子上,但值得吗?值!如果我一开始选的专业就是计算机,可能在理论基础方面会比现在强,但我绝不认为能有现在的坚韧。

煽情到此为止,其实也就是对自己浪费时间的一个安慰而已。


2、网页实现

解决了svg的绘制问题之后网页上实现就非常简单了,甚至iconfont都已经把代码给我们写好了:

css

svg {
background: red;
}

html

<script src="http://at.alicdn.com/t/font_nbcbmernh4pr2j4i.js"></script>
<svg>
<use xlink:href="#icon-trouble"></use>
</svg>

这段js其实就是对svg的一个封装,更方便我们管理图标和实现。

补充说明:用js封装的方式不支持IE8及以下版本的浏览器,此外还可以将图标生成字体文件,然后通过css加载,这种方式兼容性更好,不过不支持单一图标实现多色彩。

雁过留声,阅过点赞哈~~~从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用.png来搭建已经基本上被淘汰了。取而代之的是使用css3和svg来绘制,而对于网页小图标,我们更希望在整个系统的前端架构中将它们做成字体库统一管理。如下图:

如果在任意一个页面只需要引用一个css样式就能实现库中的任意一个图标,而且只需要定义font-size就能控制图标的大小,是不是很方便?

我是主后端的程序员,很早以前就在项目中使用过字体图标,但是之前用于制作图标库的svg都是美工帮我画好,所以一直没有深究其中的原理,直到近期不得不自己制作才对其好好研究了一下。

这里先跟大家推荐两个管理字体图标库的工具网站:

icomoon.io

www.iconfont.cn/plus

icomoon大名鼎鼎,不过个人认为iconfont 阿里巴巴的矢量图标库更符合国人的使用习惯,可以托管图标,更方便做版本管理,不过缺点是阿里巴巴会对你上传的图标对所有人开放下载,而且每个图标必需限制在20k以内。

下面我从svg绘制和代码实现两方面将初次制作字体图标遇到的坎和大家分享一下,愿后来者不要入坑。


1、svg绘制

首先我们要准备的是矢量图绘制工具,这里我选择illustrator,以下是设计师给我的原图:

好,我先直接对它导出看看效果

除了文字,所有部分都不能用,而且蓝色的背景色是不能要的,不可能以后修改了背景色还要去修改图标。

为了找到是什么原因造成的,我对图标进行了重新绘制。

导出看了一下效果

好了之前唯一可用的文字也没了,于是在google和百度上查,最后找到了一则制作说明:

按照要求,我对外面的这个圈,文字(要先进行创建轮廓操作),箭头,还有问号下面这个点进行了轮廓化描边

哈哈,完美!


其实在制作过程中还是碰到了一个小问题,因为iconfont要求制作完成的svg必须要小于20k才能上传,由于我之前对illustrator工具的不了解,按照以前使用Photoshop的习惯,对不需要导出的画板和图层进行隐藏,然后存储为svg格式,但是文件的大小一直下不来:

我一直以为是我绘制的问题,实在找不到原因,于是改变画布的大小在尝试,这种做法可能有点傻,尝试之前我就知道矢量图尺寸跟文件的大小没有一丁点关系,但是也算是瞎猫碰上死耗子,当我增加了一个小画板再存储的时候看到了:

切换小画板再储存确实让文件的大小下来了,算是临时解决问题吧,但总觉得应该有更好的方案,这么做太麻烦了,导出之前还得记住画板的序号,这太反人类了,直到有一次我无意中将工作区切换成web工作模式:

原来直接可以将绘制好的图像拖到资源导出的区域,我是在完成所有的工作之后才发现这个功能,想想浪费的时间,心塞塞的~~~

  通过这件事我反省了下,其实很多“半路出家”的朋友都应该会碰到这类问题,后知后觉才感到以前走过的弯路是多么傻。而我,不单单美工、前端是“半路出家”,连我的主业后端也是“半路出家”。我最初学的专业是电子工程,以硬件为主,但是那时候了解到该专业的本科毕业生进入公司之后很多做的都是硬件销售的工作,或者是运维。而另一个方向,互联网创业工作室在学校里遍地开花,程序员们人人说着改变世界的伟大理想。当时我根本不懂编程,也不知如何入手,费了点心思自学了Photoshop和CorelDraw以美工身份加入到一个软件外包工作室,知道方向后在网上找各类学习资料自学,然后参加了各类比赛获得了不少奖项,最大的一个是省一等奖,自此走上程序员的道路。有收获自然也有难言的辛酸,报名比赛之前我根本不知道怎么完整地完成一件作品,曾经为了赶进度在图书馆的创作室一个礼拜没回去洗澡睡觉(夏天),被校领导碰到在图书馆的卫生间刷牙洗脸还被严厉批评了。现在回想起以前不眠不休的创作,到底有多少比例的时间是花到了点子上,但值得吗?值!如果我一开始选的专业就是计算机,可能在理论基础方面会比现在强,但我绝不认为能有现在的坚韧。

煽情到此为止,其实也就是对自己浪费时间的一个安慰而已。


2、网页实现

解决了svg的绘制问题之后网页上实现就非常简单了,甚至iconfont都已经把代码给我们写好了:

css

svg {
background: red;
}

html

<script src="http://at.alicdn.com/t/font_nbcbmernh4pr2j4i.js"></script>
<svg>
<use xlink:href="#icon-trouble"></use>
</svg>

这段js其实就是对svg的一个封装,更方便我们管理图标和实现。

补充说明:用js封装的方式不支持IE8及以下版本的浏览器,此外还可以将图标生成字体文件,然后通过css加载,这种方式兼容性更好,不过不支持单一图标实现多色彩。

雁过留声,阅过点赞哈~~~从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用.png来搭建已经基本上被淘汰了。取而代之的是使用css3和svg来绘制,而对于网页小图标,我们更希望在整个系统的前端架构中将它们做成字体库统一管理。如下图:

如果在任意一个页面只需要引用一个css样式就能实现库中的任意一个图标,而且只需要定义font-size就能控制图标的大小,是不是很方便?

我是主后端的程序员,很早以前就在项目中使用过字体图标,但是之前用于制作图标库的svg都是美工帮我画好,所以一直没有深究其中的原理,直到近期不得不自己制作才对其好好研究了一下。

这里先跟大家推荐两个管理字体图标库的工具网站:

icomoon.io

www.iconfont.cn/plus

icomoon大名鼎鼎,不过个人认为iconfont 阿里巴巴的矢量图标库更符合国人的使用习惯,可以托管图标,更方便做版本管理,不过缺点是阿里巴巴会对你上传的图标对所有人开放下载,而且每个图标必需限制在20k以内。

下面我从svg绘制和代码实现两方面将初次制作字体图标遇到的坎和大家分享一下,愿后来者不要入坑。


1、svg绘制

首先我们要准备的是矢量图绘制工具,这里我选择illustrator,以下是设计师给我的原图:

好,我先直接对它导出看看效果

除了文字,所有部分都不能用,而且蓝色的背景色是不能要的,不可能以后修改了背景色还要去修改图标。

为了找到是什么原因造成的,我对图标进行了重新绘制。

导出看了一下效果

好了之前唯一可用的文字也没了,于是在google和百度上查,最后找到了一则制作说明:

按照要求,我对外面的这个圈,文字(要先进行创建轮廓操作),箭头,还有问号下面这个点进行了轮廓化描边

哈哈,完美!


其实在制作过程中还是碰到了一个小问题,因为iconfont要求制作完成的svg必须要小于20k才能上传,由于我之前对illustrator工具的不了解,按照以前使用Photoshop的习惯,对不需要导出的画板和图层进行隐藏,然后存储为svg格式,但是文件的大小一直下不来:

我一直以为是我绘制的问题,实在找不到原因,于是改变画布的大小在尝试,这种做法可能有点傻,尝试之前我就知道矢量图尺寸跟文件的大小没有一丁点关系,但是也算是瞎猫碰上死耗子,当我增加了一个小画板再存储的时候看到了:

切换小画板再储存确实让文件的大小下来了,算是临时解决问题吧,但总觉得应该有更好的方案,这么做太麻烦了,导出之前还得记住画板的序号,这太反人类了,直到有一次我无意中将工作区切换成web工作模式:

原来直接可以将绘制好的图像拖到资源导出的区域,我是在完成所有的工作之后才发现这个功能,想想浪费的时间,心塞塞的~~~

  通过这件事我反省了下,其实很多“半路出家”的朋友都应该会碰到这类问题,后知后觉才感到以前走过的弯路是多么傻。而我,不单单美工、前端是“半路出家”,连我的主业后端也是“半路出家”。我最初学的专业是电子工程,以硬件为主,但是那时候了解到该专业的本科毕业生进入公司之后很多做的都是硬件销售的工作,或者是运维。而另一个方向,互联网创业工作室在学校里遍地开花,程序员们人人说着改变世界的伟大理想。当时我根本不懂编程,也不知如何入手,费了点心思自学了Photoshop和CorelDraw以美工身份加入到一个软件外包工作室,知道方向后在网上找各类学习资料自学,然后参加了各类比赛获得了不少奖项,最大的一个是省一等奖,自此走上程序员的道路。有收获自然也有难言的辛酸,报名比赛之前我根本不知道怎么完整地完成一件作品,曾经为了赶进度在图书馆的创作室一个礼拜没回去洗澡睡觉(夏天),被校领导碰到在图书馆的卫生间刷牙洗脸还被严厉批评了。现在回想起以前不眠不休的创作,到底有多少比例的时间是花到了点子上,但值得吗?值!如果我一开始选的专业就是计算机,可能在理论基础方面会比现在强,但我绝不认为能有现在的坚韧。

煽情到此为止,其实也就是对自己浪费时间的一个安慰而已。


2、网页实现

解决了svg的绘制问题之后网页上实现就非常简单了,甚至iconfont都已经把代码给我们写好了:

css

svg {
background: red;
}

html

<script src="http://at.alicdn.com/t/font_nbcbmernh4pr2j4i.js"></script>
<svg>
<use xlink:href="#icon-trouble"></use>
</svg>

这段js其实就是对svg的一个封装,更方便我们管理图标和实现。

补充说明:用js封装的方式不支持IE8及以下版本的浏览器,此外还可以将图标生成字体文件,然后通过css加载,这种方式兼容性更好,不过不支持单一图标实现多色彩。

雁过留声,阅过点赞哈~~~从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用.png来搭建已经基本上被淘汰了。取而代之的是使用css3和svg来绘制,而对于网页小图标,我们更希望在整个系统的前端架构中将它们做成字体库统一管理。如下图:

如果在任意一个页面只需要引用一个css样式就能实现库中的任意一个图标,而且只需要定义font-size就能控制图标的大小,是不是很方便?

我是主后端的程序员,很早以前就在项目中使用过字体图标,但是之前用于制作图标库的svg都是美工帮我画好,所以一直没有深究其中的原理,直到近期不得不自己制作才对其好好研究了一下。

这里先跟大家推荐两个管理字体图标库的工具网站:

icomoon.io

www.iconfont.cn/plus

icomoon大名鼎鼎,不过个人认为iconfont 阿里巴巴的矢量图标库更符合国人的使用习惯,可以托管图标,更方便做版本管理,不过缺点是阿里巴巴会对你上传的图标对所有人开放下载,而且每个图标必需限制在20k以内。

下面我从svg绘制和代码实现两方面将初次制作字体图标遇到的坎和大家分享一下,愿后来者不要入坑。


1、svg绘制

首先我们要准备的是矢量图绘制工具,这里我选择illustrator,以下是设计师给我的原图:

好,我先直接对它导出看看效果

除了文字,所有部分都不能用,而且蓝色的背景色是不能要的,不可能以后修改了背景色还要去修改图标。

为了找到是什么原因造成的,我对图标进行了重新绘制。

导出看了一下效果

好了之前唯一可用的文字也没了,于是在google和百度上查,最后找到了一则制作说明:

按照要求,我对外面的这个圈,文字(要先进行创建轮廓操作),箭头,还有问号下面这个点进行了轮廓化描边

哈哈,完美!


其实在制作过程中还是碰到了一个小问题,因为iconfont要求制作完成的svg必须要小于20k才能上传,由于我之前对illustrator工具的不了解,按照以前使用Photoshop的习惯,对不需要导出的画板和图层进行隐藏,然后存储为svg格式,但是文件的大小一直下不来:

我一直以为是我绘制的问题,实在找不到原因,于是改变画布的大小在尝试,这种做法可能有点傻,尝试之前我就知道矢量图尺寸跟文件的大小没有一丁点关系,但是也算是瞎猫碰上死耗子,当我增加了一个小画板再存储的时候看到了:

切换小画板再储存确实让文件的大小下来了,算是临时解决问题吧,但总觉得应该有更好的方案,这么做太麻烦了,导出之前还得记住画板的序号,这太反人类了,直到有一次我无意中将工作区切换成web工作模式:

原来直接可以将绘制好的图像拖到资源导出的区域,我是在完成所有的工作之后才发现这个功能,想想浪费的时间,心塞塞的~~~

  通过这件事我反省了下,其实很多“半路出家”的朋友都应该会碰到这类问题,后知后觉才感到以前走过的弯路是多么傻。而我,不单单美工、前端是“半路出家”,连我的主业后端也是“半路出家”。我最初学的专业是电子工程,以硬件为主,但是那时候了解到该专业的本科毕业生进入公司之后很多做的都是硬件销售的工作,或者是运维。而另一个方向,互联网创业工作室在学校里遍地开花,程序员们人人说着改变世界的伟大理想。当时我根本不懂编程,也不知如何入手,费了点心思自学了Photoshop和CorelDraw以美工身份加入到一个软件外包工作室,知道方向后在网上找各类学习资料自学,然后参加了各类比赛获得了不少奖项,最大的一个是省一等奖,自此走上程序员的道路。有收获自然也有难言的辛酸,报名比赛之前我根本不知道怎么完整地完成一件作品,曾经为了赶进度在图书馆的创作室一个礼拜没回去洗澡睡觉(夏天),被校领导碰到在图书馆的卫生间刷牙洗脸还被严厉批评了。现在回想起以前不眠不休的创作,到底有多少比例的时间是花到了点子上,但值得吗?值!如果我一开始选的专业就是计算机,可能在理论基础方面会比现在强,但我绝不认为能有现在的坚韧。

煽情到此为止,其实也就是对自己浪费时间的一个安慰而已。


2、网页实现

解决了svg的绘制问题之后网页上实现就非常简单了,甚至iconfont都已经把代码给我们写好了:

css

svg {
background: red;
}

html

<script src="http://at.alicdn.com/t/font_nbcbmernh4pr2j4i.js"></script>
<svg>
<use xlink:href="#icon-trouble"></use>
</svg>

这段js其实就是对svg的一个封装,更方便我们管理图标和实现。

补充说明:用js封装的方式不支持IE8及以下版本的浏览器,此外还可以将图标生成字体文件,然后通过css加载,这种方式兼容性更好,不过不支持单一图标实现多色彩。

雁过留声,阅过点赞哈~~~从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用.png来搭建已经基本上被淘汰了。取而代之的是使用css3和svg来绘制,而对于网页小图标,我们更希望在整个系统的前端架构中将它们做成字体库统一管理。如下图:

如果在任意一个页面只需要引用一个css样式就能实现库中的任意一个图标,而且只需要定义font-size就能控制图标的大小,是不是很方便?

我是主后端的程序员,很早以前就在项目中使用过字体图标,但是之前用于制作图标库的svg都是美工帮我画好,所以一直没有深究其中的原理,直到近期不得不自己制作才对其好好研究了一下。

这里先跟大家推荐两个管理字体图标库的工具网站:

icomoon.io

www.iconfont.cn/plus

icomoon大名鼎鼎,不过个人认为iconfont 阿里巴巴的矢量图标库更符合国人的使用习惯,可以托管图标,更方便做版本管理,不过缺点是阿里巴巴会对你上传的图标对所有人开放下载,而且每个图标必需限制在20k以内。

下面我从svg绘制和代码实现两方面将初次制作字体图标遇到的坎和大家分享一下,愿后来者不要入坑。


1、svg绘制

首先我们要准备的是矢量图绘制工具,这里我选择illustrator,以下是设计师给我的原图:

好,我先直接对它导出看看效果

除了文字,所有部分都不能用,而且蓝色的背景色是不能要的,不可能以后修改了背景色还要去修改图标。

为了找到是什么原因造成的,我对图标进行了重新绘制。

导出看了一下效果

好了之前唯一可用的文字也没了,于是在google和百度上查,最后找到了一则制作说明:

按照要求,我对外面的这个圈,文字(要先进行创建轮廓操作),箭头,还有问号下面这个点进行了轮廓化描边

哈哈,完美!


其实在制作过程中还是碰到了一个小问题,因为iconfont要求制作完成的svg必须要小于20k才能上传,由于我之前对illustrator工具的不了解,按照以前使用Photoshop的习惯,对不需要导出的画板和图层进行隐藏,然后存储为svg格式,但是文件的大小一直下不来:

我一直以为是我绘制的问题,实在找不到原因,于是改变画布的大小在尝试,这种做法可能有点傻,尝试之前我就知道矢量图尺寸跟文件的大小没有一丁点关系,但是也算是瞎猫碰上死耗子,当我增加了一个小画板再存储的时候看到了:

切换小画板再储存确实让文件的大小下来了,算是临时解决问题吧,但总觉得应该有更好的方案,这么做太麻烦了,导出之前还得记住画板的序号,这太反人类了,直到有一次我无意中将工作区切换成web工作模式:

原来直接可以将绘制好的图像拖到资源导出的区域,我是在完成所有的工作之后才发现这个功能,想想浪费的时间,心塞塞的~~~

  通过这件事我反省了下,其实很多“半路出家”的朋友都应该会碰到这类问题,后知后觉才感到以前走过的弯路是多么傻。而我,不单单美工、前端是“半路出家”,连我的主业后端也是“半路出家”。我最初学的专业是电子工程,以硬件为主,但是那时候了解到该专业的本科毕业生进入公司之后很多做的都是硬件销售的工作,或者是运维。而另一个方向,互联网创业工作室在学校里遍地开花,程序员们人人说着改变世界的伟大理想。当时我根本不懂编程,也不知如何入手,费了点心思自学了Photoshop和CorelDraw以美工身份加入到一个软件外包工作室,知道方向后在网上找各类学习资料自学,然后参加了各类比赛获得了不少奖项,最大的一个是省一等奖,自此走上程序员的道路。有收获自然也有难言的辛酸,报名比赛之前我根本不知道怎么完整地完成一件作品,曾经为了赶进度在图书馆的创作室一个礼拜没回去洗澡睡觉(夏天),被校领导碰到在图书馆的卫生间刷牙洗脸还被严厉批评了。现在回想起以前不眠不休的创作,到底有多少比例的时间是花到了点子上,但值得吗?值!如果我一开始选的专业就是计算机,可能在理论基础方面会比现在强,但我绝不认为能有现在的坚韧。

煽情到此为止,其实也就是对自己浪费时间的一个安慰而已。


2、网页实现

解决了svg的绘制问题之后网页上实现就非常简单了,甚至iconfont都已经把代码给我们写好了:

css

svg {
background: red;
}

html

<script src="http://at.alicdn.com/t/font_nbcbmernh4pr2j4i.js"></script>
<svg>
<use xlink:href="#icon-trouble"></use>
</svg>

这段js其实就是对svg的一个封装,更方便我们管理图标和实现。

补充说明:用js封装的方式不支持IE8及以下版本的浏览器,此外还可以将图标生成字体文件,然后通过css加载,这种方式兼容性更好,不过不支持单一图标实现多色彩。

雁过留声,阅过点赞哈~~~从事前端的朋友应该对“字体图标”这个词汇不陌生,为了适应越来越挑剔的屏幕,网页图标和简单图案使用.png来搭建已经基本上被淘汰了。取而代之的是使用css3和svg来绘制,而对于网页小图标,我们更希望在整个系统的前端架构中将它们做成字体库统一管理。如下图:

如果在任意一个页面只需要引用一个css样式就能实现库中的任意一个图标,而且只需要定义font-size就能控制图标的大小,是不是很方便?

我是主后端的程序员,很早以前就在项目中使用过字体图标,但是之前用于制作图标库的svg都是美工帮我画好,所以一直没有深究其中的原理,直到近期不得不自己制作才对其好好研究了一下。

这里先跟大家推荐两个管理字体图标库的工具网站:

icomoon.io

www.iconfont.cn/plus

icomoon大名鼎鼎,不过个人认为iconfont 阿里巴巴的矢量图标库更符合国人的使用习惯,可以托管图标,更方便做版本管理,不过缺点是阿里巴巴会对你上传的图标对所有人开放下载,而且每个图标必需限制在20k以内。

下面我从svg绘制和代码实现两方面将初次制作字体图标遇到的坎和大家分享一下,愿后来者不要入坑。


1、svg绘制

首先我们要准备的是矢量图绘制工具,这里我选择illustrator,以下是设计师给我的原图:

好,我先直接对它导出看看效果

除了文字,所有部分都不能用,而且蓝色的背景色是不能要的,不可能以后修改了背景色还要去修改图标。

为了找到是什么原因造成的,我对图标进行了重新绘制。

导出看了一下效果

好了之前唯一可用的文字也没了,于是在google和百度上查,最后找到了一则制作说明:

按照要求,我对外面的这个圈,文字(要先进行创建轮廓操作),箭头,还有问号下面这个点进行了轮廓化描边

哈哈,完美!


其实在制作过程中还是碰到了一个小问题,因为iconfont要求制作完成的svg必须要小于20k才能上传,由于我之前对illustrator工具的不了解,按照以前使用Photoshop的习惯,对不需要导出的画板和图层进行隐藏,然后存储为svg格式,但是文件的大小一直下不来:

我一直以为是我绘制的问题,实在找不到原因,于是改变画布的大小在尝试,这种做法可能有点傻,尝试之前我就知道矢量图尺寸跟文件的大小没有一丁点关系,但是也算是瞎猫碰上死耗子,当我增加了一个小画板再存储的时候看到了:

切换小画板再储存确实让文件的大小下来了,算是临时解决问题吧,但总觉得应该有更好的方案,这么做太麻烦了,导出之前还得记住画板的序号,这太反人类了,直到有一次我无意中将工作区切换成web工作模式:

原来直接可以将绘制好的图像拖到资源导出的区域,我是在完成所有的工作之后才发现这个功能,想想浪费的时间,心塞塞的~~~

  通过这件事我反省了下,其实很多“半路出家”的朋友都应该会碰到这类问题,后知后觉才感到以前走过的弯路是多么傻。而我,不单单美工、前端是“半路出家”,连我的主业后端也是“半路出家”。我最初学的专业是电子工程,以硬件为主,但是那时候了解到该专业的本科毕业生进入公司之后很多做的都是硬件销售的工作,或者是运维。而另一个方向,互联网创业工作室在学校里遍地开花,程序员们人人说着改变世界的伟大理想。当时我根本不懂编程,也不知如何入手,费了点心思自学了Photoshop和CorelDraw以美工身份加入到一个软件外包工作室,知道方向后在网上找各类学习资料自学,然后参加了各类比赛获得了不少奖项,最大的一个是省一等奖,自此走上程序员的道路。有收获自然也有难言的辛酸,报名比赛之前我根本不知道怎么完整地完成一件作品,曾经为了赶进度在图书馆的创作室一个礼拜没回去洗澡睡觉(夏天),被校领导碰到在图书馆的卫生间刷牙洗脸还被严厉批评了。现在回想起以前不眠不休的创作,到底有多少比例的时间是花到了点子上,但值得吗?值!如果我一开始选的专业就是计算机,可能在理论基础方面会比现在强,但我绝不认为能有现在的坚韧。

煽情到此为止,其实也就是对自己浪费时间的一个安慰而已。


2、网页实现

解决了svg的绘制问题之后网页上实现就非常简单了,甚至iconfont都已经把代码给我们写好了:

css

svg {
background: red;
}

html

<script src="http://at.alicdn.com/t/font_nbcbmernh4pr2j4i.js"></script>
<svg>
<use xlink:href="#icon-trouble"></use>
</svg>

这段js其实就是对svg的一个封装,更方便我们管理图标和实现。

补充说明:用js封装的方式不支持IE8及以下版本的浏览器,此外还可以将图标生成字体文件,然后通过css加载,这种方式兼容性更好,不过不支持单一图标实现多色彩。

雁过留声,阅过点赞哈~~~

asfda的更多相关文章

  1. day8--socketserver回顾

    sockeserver主要实现多并发的情况,我们知道,socket只能一对一用户进行交互,如何实现一对多交互,socketserver就是用来解决这个问题的. socketserver--共有这么几种 ...

  2. day8--socket文件传输

    FTP server 1.读取文件名 2.检测文件是否存在 3.打开文件 4.检测文件大小(告诉客户端发送文件的大小) 5.发送文件大小和MD5值给客户端,MD5 6.等待客户端确认(防止粘包) 7. ...

随机推荐

  1. centos7 minimal 安装mysql

    CentOS 7.3.1611 安装 MySQL 2017年06月08日 23:02:08 阅读数:250   依赖 MySQL 依赖 libaio,所以先要安装 libaio yum search ...

  2. leetcode 2 两数相加 JAVA

    题目: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示 ...

  3. python 图像识别

    这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt ...

  4. kvm虚拟机动态迁移

    相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可 ...

  5. How to mount a remote directory in Linux using sshfs

    Q. I have access rights to one of the remote server through SSH protocol and there is no File share ...

  6. tcp/ip学习笔记(1)-基本概念

    为什么会有tcp/ip 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样.计 ...

  7. dubbo核心流程一览

    整体设计 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 Config 层为 API,其它各层均为 SPI. Serv ...

  8. 分分钟钟学会Python - 基础

    1.常见操作系统 1.windows xp/win7/win/10/window server 2.linux centos,图形化界面差 ubuntu,个人开发(图形化比较好) redhat,企业级 ...

  9. $bzoj1025-SCOI2009$游戏 群论 $dp$

    题面描述 \(windy​\)学会了一种游戏.对于\(1​\)到\(N​\)这\(N​\)个数字,都有唯一且不同的1到N的数字与之对应.最开始\(windy​\)把数字按顺序\(1,2,3,\cdot ...

  10. String字符串排序1.8 lamda表达式以及1.7自定义排序

    // 1.8 public class text { public static void main(String[] args) { String s1 = "哈哈哈11,呵呵呵22,嘿嘿 ...