WEB ICON 的探讨
一般考虑到webicon 就是cssSprite和自定义font;本文基于下述而总结和进行分析,如有笔误有望指出,谢谢
在线教程:用字体在网页中画ICON图标 http://www.imooc.com/learn/243
免费图标:
制作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
@font-face demo
实践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 的探讨的更多相关文章
- @font-face制作Web Icon
		@font-face是CSS3中有关于字体设置的属性,通过@font-face可以将本地字体设置为Web页面字体,并能兼容所有浏览器,使用这个属性就不必担心用户本地不具备这样的字体.因为我们把字体都上 ... 
- Web 设计新趋势: 使用 SVG 代替 Web Icon Font
		如果你还在使用 Icon Font 作为网页中显示图标的实现方案,那么你可能有点 Out 了. 由于使用 Icon Font 显示图标存在一些缺陷,开发者们一直在致力于探索使用 SVG 作为替代的方法 ... 
- [记录] web icon 字体
		weloveiconfonts 在http://codepen.io/cguillou/pen/jmkfK 中看css发现既然有这样的,yes! 
- 在 :after/ :before 使用 font awesome web Icon
		.element { position: relative; } /*replace the content value with the corresponding value from the l ... 
- ASP.NET Web API系列教程目录
		ASP.NET Web API系列教程目录 Introduction:What's This New Web API?引子:新的Web API是什么? Chapter 1: Getting Start ... 
- Web API 2
		Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中] 前言 本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api.出于自己想锻炼一下学 ... 
- ASP.NET Web API系列教程(目录)(转)
		注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP.NET Web API.这是一个用来在.NET平台上建立HTTP服务的Web API框架,是微软的又一项令人振奋的技术.目前,国内 ... 
- [转]ASP.NET Web API系列教程(目录)
		本文转自:http://www.cnblogs.com/r01cn/archive/2012/11/11/2765432.html 注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP ... 
- 再探@font-face及webIcon制作
		@font-face 不能说他是什么新东西了,在 CSS2.0 规范中就有了这玩意儿,IE4.0 开始就已经出现,只是当时用的不是特别广泛,后来在 CSS2.1 草案中又被删掉.随着 web 的急速发 ... 
随机推荐
- U盘检测软件:ChipGenius,MyDiskTest
			几年前的事情了.有一次去北邮玩,看到校园里有卖U盘的摊位,问了问价格,8GB的金士顿U盘99块钱.正好头一天有个同事跟我说最近U盘降价了,8GB才99,于是心里一痒痒就买了一个.回来用着就感觉不对劲, ... 
- R使用入门
			R是一个开源的统计学软件包,用于数据计算,绘图等等用途,看介绍与大数据走得比较近. 入门还是很简单的,安装文件也非常的小. 官网网站,下载对应系统的安装包,55M,比matlab小多了,像操作系统 ... 
- telnet登陆路由器。。。
			登陆路由有两种方式.一种是console,还有一种是使用telnet,由于我电脑是win7,不支持console.也懒得装软件,就使用telnent为例. 一.开启telnetclient 对于XP. ... 
- [学习笔记]js动画实现方法,作用域,闭包
			一,js动画基本都是依靠setInterval和setTimeout来实现 1,setInterval是间隔执行,过一段时间执行一次代码 setInterval(function(){},500);即 ... 
- 关于js封装框架类库之选择器引擎(二)
			在上篇介绍了选择器的获取标签.id.类名的方法,现在我们在上篇基础上继续升级 1.问题描述:上篇get('选择器')已经实现,如果get方法里是一个选择器的父元素,父元素是DOM对象,那么如何获取元素 ... 
- table边框不显示
			今日在做报表的时候发现,最后一行隐藏后整个报表的下边框会不显示,猜测是td的边框隐藏后但table并未设置边框,导致下边框没有出现.因此设置了table边框后问题解决.table和td的边框关系如下实 ... 
- 1.3. chromium源代码分析 - chromiumframe - 窗口系列
			在_tWinMain中有这样两条语句: MainWindowDelegate delegate; view::Window::CreateNativeWindow(NULL, gfx::Rect(), ... 
- strlen源码剖析
			学习高效编程的有效途径之一就是阅读高手写的源代码,CRT(C/C++ Runtime Library)作为底层的函数库,实现必然高效.恰好手中就有glibc和VC的CRT源代码,于是挑了一个相对简 ... 
- 转: bower 客户端库管理工具
			概述 常用操作 库的安装 库的搜索和查看 库的更新和卸载 列出所有库 配置文件.bowerrc 库信息文件bower.json 相关链接 概述 注:bower下载安装依赖库实际上是使用git进行下载. ... 
- VC中判断指定窗口是否被其他窗口遮挡
			本来是想判断当前窗口是否在最前面,无奈办法用尽就是不行,于是想换个思路:判断指定窗口是否被其他窗口遮挡.然后掘网三尺,找到了这个: bool CTestTray2Dlg::IsCoveredByOth ... 
 
			
		