一.iconfont的优缺点

优点

矢量性

屏幕适配(缩放)

字体性

样式控制(颜色,阴影,甚至浮雕)

文件小

一般20-50KB,比图片小很多,例如typicons库有308个icon,字体文件大小为59KB(woff) ~ 147KB(svg)

图标文件一般1.5KB/个(Sprite只会让总大小更大)

不需要Sprite,易于修改

省去了使用Sprite的麻烦,很容易修改更换

缺点

颜色限制

iconfont只能是纯色或者渐变色,复杂图标无法使用该技术(虽然也有方法可以实现多色iconfont,但兼容性,成本都无法接受)

FOUT(Flash of Unstyled Text)问题

浏览器先用默认字体渲染,待字体文件下载完毕后再对文字内容进行部分渲染,文字就会出现不可避免的闪烁

IE会阻塞页面渲染

如果在 @font-face 声明之前有script标签的话,IE将不会渲染任何东西,直到字体文件完成下载

性能

IE问题比较多,IE和FF下@fontface会阻塞window.onload,IE下用不用都会加载,字体加载出错(长时间未返回结果)时,IE会等待10分钟(期间白屏),其它浏览器会用默认字体渲染或者暂时不显示内容,在等待下载期间忙指示器会一直被触发(状态栏、进度条、图标、鼠标指针)

二.制作生成

三.管理维护

四.字体格式与兼容性

字体格式

woff:W3C推荐格式,体积最小,兼容性差

Android4.4+,IE9+

ttf:Win和Mac默认字体格式

Android4.1+,IE9+部分支持

eot:微软提出的,允许@fontface嵌入OpenType字体

Android不支持,IOS不支持,IE不支持

svg:兼容性好,体积大

Android4.1+部分支持,IE9+

字体文件大小

20个icon,字体文件大小分别为:

woff:7K

ttf:11K

eot:11K

svg:14K

兼容性

IE:从IE4开始支持eot格式,IE9开始支持woff

webkit/safari:支持TrueType/OpenType(.ttf),OpenType PS(.otf),iOS4.2+支持.ttf,iOS 4.2以下只支持SVG字体, Safari5.1+ 开始支持woff格式

Chrome:除webkit支持的以外,从Chrome 6开始,开始支持woff格式

Firefox:支持.ttf和.otf,从Firefox 3.6开始支持woff格式

Opera:支持.ttf、.otf、.svg。 Opera 11开始支持woff

iPad, iPhone and Android 3.0+ 支持SVG fonts

此处与caniuse结论有差异

五.性能优化原则

将你的@font-face定义在所有的script标签前

如果你有许多字体文件,考虑将它们分散到几个域名下

不要包含没有使用的 @font-face声明——IE将不分它使用与否,通通加载

Gzip字体文件,同时给它们一个未来的过期头部声明

考虑字体文件的后加载(放在body结束标签前),起码对于IE(IE留10分钟下载字体,在此期间,页面阻塞)

关于@fontface性能问题的详细信息请查看【翻译】@font-face与性能

六.注意事项

1.FF不加载异域字体

放到同域或设置服务器头

2.safair和chrome下字体被加粗

把半像素锯齿渲染成了1px,设置css规则:-webkit-font-smoothing: antialiased;

3.PC的Chrome下严重锯齿

对边缘模糊处理即可,设置css规则:-webkit-text-stroke-width: 0.2px;

七.结论

iconfont优点 > 缺点,复用性与维护性上的便利很诱人

生成字体库的主要工作量在于png转svg

如果UI肯配合就很容易了,而且字体库建好后对UI也有好处,做设计稿更方面,有PS插件可以直接使用iconfont,不用切出icon

(亲测不支持cc,cs6,对插件质量保持怀疑,如果插件不可用,UI设计稿图标与iconfont的对应是个小麻烦)

兼容性不是问题

4种格式都放上,兼容性足够了

性能不是很好

但和图片Sprite相比足够好了

iconfont 图标转为字体_iconfont图标字体相关推荐

  1. python 图标字体_Icon-font图标字体的四类制作方法

    FontAwesome经历了两年的进化,如今已成为不少工具性应用开发者的首选.但FontAwesome的图标毕竟有限,在某些特定的情景中,FontAwesome的字体并不能准确地传达合适的意义.为自己 ...

  2. iconfont 图标转为字体_iconfont字体图标的使用

    一.准备工作 1.首先,进入阿里的矢量图标库,在这个图标库里面可以找到很多图片资源,当然了需要登录才能下载或者使用,用GitHub账号或者新浪微博账号登录都可以 2.登录以后,可以搜索自己需要的资源, ...

  3. iconfont 图标转为字体_iconfont 转换为图标字体

    目的 为了解决 微信小程序中不能引用字体文件或者 cnblog 不能上传字体文件,将字体文件转为base64或者其他格式直接引入到css中! 操作步骤 第一步 打开网站 :https://transf ...

  4. iconfont 图标转为字体_阿里字体库iconfont使用方法

    天兴工作室之前写过一篇"zblog使用Font Awesome图标字体教程",然后发现"Font Awesome"太臃肿了,一个主题根本用不了这么多图标,图标样 ...

  5. iconfont 图标转为字体_App 中使用 Iconfont 的整套方案

    作者:集美貌与才华于一身的 小芳 什么是Iconfont 我们通常看到的图标都是以图片形式集成到项目中使用,而 Iconfont 是一套字体图标,和我们使用自定义字体的方式是一样的,并且它是一种矢量图 ...

  6. iconfont 图标转为字体_如何把你的图标转换成web字体

    我已经制为网站制作了一些优雅的图标,并且在新的网站和老的iPad上进行了测试.正常尺寸下,布局看看上去一切OK,但的将页面进行放大显示,我却发现我的icon变得模糊不清,但是基于文本的标题依然清晰可见 ...

  7. HTML字体以及图标字体iconfont、Font Awesome的使用

    字体 • 通过font-family可以指定标签中文字使用的字体. • 例如: p{font-family:Arial} ​ 上边这行代码指定了p标签中使用名为arial作为字体 • 一般来说只有用户 ...

  8. 控制元素显示和隐藏的方式及区别、内容溢出处理(区域滚动)、透明性、字体图标、常见字体、自定义字体设计、网站图标、CSS代码分析

    元素的显示与隐藏: 常见控制元素的显示和隐藏的属性有display.visibility.overflow,需要清楚的理解三者之间的区别. display显示: 当值为none时为销毁对象,不保留原位 ...

  9. CSS——web字体与CSS字体图标

    文章目录 web字体 字体格式 字体图标 字体图标优点 字体图标使用流程 设计字体图标 上传生成字体包 下载兼容字体包 字体引入到HTML 第一步:在样式里面声明字体: 告诉别人我们自己定义的字体 第 ...

最新文章

  1. springboot redis
  2. CVPR 2021大奖出炉!何恺明获最佳论文提名,第一届Thomas S. Huang 纪念奖颁发
  3. 42岁著名黑客去世,曾拯救互联网:揭开索尼“罪行”、发现DNS漏洞
  4. 定义一个不能被拷贝的类
  5. java文本库,自定义文本库
  6. 【小白学习keras教程】十、三种Model Selection方法:k-fold cross-validation,GridSearchCV和RandomizedSearchCV
  7. 使用pandas进行量化回测(akshare)
  8. Android 系统(55)---Android App开发之ANR异常的原因分析及处理总结
  9. webpack 合并压缩_webpack 打包压缩js和css的方法示例
  10. Unity2 学习 制作和动态加载预制体
  11. matlab设计单神经元系统框图,单神经元自适应系统
  12. PR Lumetri颜色
  13. MATLAB绘图总结
  14. 拼多多改销量10+是怎么回事
  15. ActiveMQ详细的介绍
  16. == 与 === 的区别
  17. Esxi6.7网络trunk端口设置和vlan端口设置访问
  18. Semantic Visual Simultaneous Localization and Mapping: A Survey阅读笔记
  19. 金和OA在自定义表单中,加入Fusionchart图表功能
  20. 桌面 html 自定义,【极简壁纸 - 技术分享】html js自定义右键菜单方法

热门文章

  1. Unity Shader - Smoothness 平滑度
  2. 塑胶模具设计:从材料优缺点来看塑料特性
  3. python爬虫爬取网易云热歌榜top200
  4. windows之在局域网内共享和共同编辑EXCEL
  5. Unity Shader学习记录(6) —— 高光反射光照模型和内置计算函数
  6. 西门子real是什么数据类型_【图】西门子s7-300 plc的数据类型有哪些?
  7. stream filter 多条件筛选
  8. 非结构化数据的相关知识
  9. CentOS 7 开机自启汇总
  10. matlab中参数估计,关于matlab的参数估计