一般考虑到webicon 就是cssSprite和自定义font;本文基于下述而总结和进行分析,如有笔误有望指出,谢谢

在线教程:用字体在网页中画ICON图标 http://www.imooc.com/learn/243

免费图标:

https://icomoon.io/#home

制作font教程:

webfont应用系列(一)位图如何转成矢量?http://ntesmailfetc.blog.163.com/blog/static/206287061201241854857235/

webfont应用系列(二)如何制作图标字体?http://ntesmailfetc.blog.163.com/blog/static/206287061201292631536545/

CSSSprite

对于小图标图片进行合并,

Css

.icon{

background: url(icon.png) no-repeat;

display: inline-block;

vertical-align: middle;

}

.icon_weibo{

width:24px;

height:19px;

background-position: -1px -45px;

}

Html

<i class="icon weibo "></i>

主要是使用了background,把对应的元素背景定义为icon.png;而且修改icon的时候会改动图片和代码个人建议把icon.png放在css文件夹中 方便维护;

优点:图片小;兼容性好;图标可以颜色丰富

缺点:放大,模糊(R屏放大也在考虑范围) 维护成本高,

Font

首先需要理解各个字体格式的兼容性

手册

脚本之家

@Font-face目前浏览器的兼容性:

•Webkit/Safari(3.2+):TrueType/OpenType TT (.ttf) 、OpenType PS (.otf);

•Opera (10+): TrueType/OpenType TT (.ttf) 、 OpenType PS (.otf) 、 SVG (.svg);

•Internet Explorer: 自ie4开始,支持EOT格式的字体文件;ie9支持WOFF;

•Firefox(3.5+): TrueType/OpenType TT (.ttf)、 OpenType PS (.otf)、 WOFF (since Firefox 3.6)

•Google Chrome:TrueType/OpenType TT (.ttf)、OpenType PS (.otf)、WOFF since version 6

由上面可以得出:.eot + .ttf /.otf + svg + woff = 所有浏览器的完美支持。

@Font-face 让所有浏览器都兼容的方法:

有一个专门用于@font-face 的字体网站:http://www.fontsquirrel.com/fontface/generator

fontsquirrel 网站提供了一个免费的 @font-face Kit Generator工具,可以生成不同的字体格式,并且直接用css和html给出demo。使你可以直接引用到你的网站上。你可以直接使用 fontsquirrel 网站提供 的一些字体,也可以上传你自己的字体还是用。

@font-face Kit Generator demo

http://www.xunzou.com/demo/font-face/Chopin-Script-fontfacekit/demo.html

@font-face Kit Generator demo

http://www.font2web.com/

@font-face demo

http://www.xunzou.com/demo/font-face/font-face.html

实践font-face

1.语义化实现(ie8以下不支持)

Css

@font-face{

font-family: "imooc";

src: url("../fonts/imooc.eot");/* IE9兼容 */

src: url("../fonts/imooc.eot?#iefix") format("embedded-opentype"),/*?#iefix 多字体下ie6-8会把后续视为搜索条件*/

url("../fonts/imooc.woff") format("woff"),/* chrome、firefox */

url("../fonts/imooc.ttf") format("truetype"),/* chrome、firefox、opera、Safari, Android, iOS 4.2+*/

url("../fonts/imooc.svg") format("svg");/* iOS 4.1- */

font-weight: normal;

font-style: normal;

}

.icon{

font-family: "imooc";

font-weight: normal;

font-style: normal;

-webkit-font-smoothing: antialiased; //字体抗锯

-moz-osx-font-smoothing: grayscale;

}

.icon-spinner:before {

content: "\e600";

}

<i class="icon icon-spinner spinner"></i>

2. 兼容性实现

Css

@font-face{和上述一样}

.icon{和上述一样}

<i class="icon"></i>

&#x为16进制的转义序列,

公共优点 维持成本低 高清无码

缺点 文件大 简单单色(可以用css3做些投影 描边效果)

语义化实现与兼容性的区别在于维护的区别? 都要保存图片编码对应表以便修改

font制作教程在顶部

CSSSprite对比font-face

慕课网的案例

慕课课件 对于大图的简单icon 文字优越性还是很高的;

天猫官网

白色背景看不清下面是原图

还有杂色 所以就大小只做参考

现在可能有人觉得是笔误为啥文件大小和上述不一样,天猫我的图片也存在误导性;不过要更优化;肯定是做一个较大的图标进行缩放;然而天猫这个图标颜色不一样必然会做多一套;对于多个色系的图标,必然会出现很多;

两套对比下来好像font更好;其实font的图标过于单一;在于一些一些多色的图标;就不得不让设计师修改为这种矢量;不过做好一套就重用性较高;而且csssprite切图制作起来比较快,毕竟是位图;而图标太多的时候显得font的文件会很大的;

请针对项目来选取对应的技术

转载请保留源地址,谢谢

WEB ICON 的探讨的更多相关文章

  1. @font-face制作Web Icon

    @font-face是CSS3中有关于字体设置的属性,通过@font-face可以将本地字体设置为Web页面字体,并能兼容所有浏览器,使用这个属性就不必担心用户本地不具备这样的字体.因为我们把字体都上 ...

  2. Web 设计新趋势: 使用 SVG 代替 Web Icon Font

    如果你还在使用 Icon Font 作为网页中显示图标的实现方案,那么你可能有点 Out 了. 由于使用 Icon Font 显示图标存在一些缺陷,开发者们一直在致力于探索使用 SVG 作为替代的方法 ...

  3. [记录] web icon 字体

    weloveiconfonts  在http://codepen.io/cguillou/pen/jmkfK 中看css发现既然有这样的,yes!

  4. 在 :after/ :before 使用 font awesome web Icon

    .element { position: relative; } /*replace the content value with the corresponding value from the l ...

  5. ASP.NET Web API系列教程目录

    ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ...

  6. Web API 2

    Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]   前言 本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api.出于自己想锻炼一下学 ...

  7. ASP.NET Web API系列教程(目录)(转)

    注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP.NET Web API.这是一个用来在.NET平台上建立HTTP服务的Web API框架,是微软的又一项令人振奋的技术.目前,国内 ...

  8. [转]ASP.NET Web API系列教程(目录)

    本文转自:http://www.cnblogs.com/r01cn/archive/2012/11/11/2765432.html 注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP ...

  9. 再探@font-face及webIcon制作

    @font-face 不能说他是什么新东西了,在 CSS2.0 规范中就有了这玩意儿,IE4.0 开始就已经出现,只是当时用的不是特别广泛,后来在 CSS2.1 草案中又被删掉.随着 web 的急速发 ...

随机推荐

  1. 阅读 - Code Complete 2 - 第33章 - 个人性格

    个人性格对于软件项目的开发到底有没有作用或者影响呢? 有的人急于完成自己的工作,当自己的代码遇到问题的时候,不去自己思考并调试而是直接求助于他人,有的人则是自己沉住气,耐心的从头到尾的研究找到错误的所 ...

  2. 直接调用类成员函数地址(用汇编取类成员函数的地址,各VS版本还有所不同)

    在C++中,成员函数的指针是个比较特殊的东西.对普通的函数指针来说,可以视为一个地址,在需要的时候可以任意转换并直接调用.但对成员函数来说,常规类型转换是通不过编译的,调用的时候也必须采用特殊的语法. ...

  3. C语言数据结构----栈与递归

    本节主要说程序中的栈函数栈的关系以及栈和递归算法的关系. 一.函数调用时的栈 1.程序调用时的栈是也就是平时所说的函数栈是数据结构的一种应用,函数调用栈一般是从搞地质向低地址增长的,栈顶为内存的低地址 ...

  4. VM 映像

     让我们一起欢呼吧!随着最近Microsoft Azure运行时的发布,我们非常高兴地宣布发布 OS映像的继承性产品:新 VM映像.等一下-有些人可能会觉得这听起来有点耳熟.没错,一个月前在旧金山 ...

  5. VC实现卡拉OK字幕叠加

    一. GDI编程基础 字幕叠加,应当是属于图形.图像处理的范畴.在Windows平台上,图形.图像处理的方法当然首选GDI(Graphics Device Interface,图形设备接口).GDI是 ...

  6. C(n+m,m) mod p的一类算法

    Lucas定理 A.B是非负整数,p是质数.AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]. 则组合数C(A,B)与C(a[n],b[n])*C(a[n ...

  7. 高性能JSON库---FastJson(阿里巴巴)

    1.FastJSON简单介绍 Fastjson是一个Java语言编写的高性能功能完好的JSON库. 它採用一种"假定有序高速匹配"的算法,把JSON Parse的性能提升到极致,是 ...

  8. js页面跳转 和 js打开新窗口 方法

    js页面跳转 和 js打开新窗口 方法 第一种: 第二种: 第三种: 第四种: 第五种: 1.在原来的窗体中直接跳转用 window.location.href="你所要跳转的页面" ...

  9. BZOJ 1489: [HNOI2009]双递增序( dp )

    dp(i, j)表示选第i个, 且当前序列长度为j, 另一个序列的最后一个元素的最小值...然后根据上一个是哪个序列选的讨论一下就行了...奇怪的dp... --------------------- ...

  10. poj3358 Period of an Infinite Binary Expansion 数论有难度

    这道题目感觉好难,根本就是无从下手的感觉,尝试了以前的所有方法,都没有思路,毫无进展,参考了一下别人的思路,感觉学到了新的知识 接下来开始分析 观察1/10这组数据,按照二进制转化法可以得到: 1/1 ...