Google Web font在国内经常不稳定,速度在国内延迟也很高,而引发网页打开速度慢。

一、常见的字体格式介绍

不同的浏览器对字体格式支持是不一致的,常见的如下:

1、TureTpe(.ttf):

.ttf字体是Windows和Mac的最常见的字体,是一种RAW格式,因此他不为网站优化,支持这种字体的浏览器有【IE9+,Firefox3.5+,Chrome4+,Safari3+,Opera10+,iOS Mobile Safari4.2+】;

2、OpenType(.otf):

.otf字体被认为是一种原始的字体格式,其内置在TureType的基础上,所以也提供了更多的功能,支持这种字体的浏览器有【Firefox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,iOS Mobile Safari4.2+】;

3、Web Open Font Format(.woff):

.woff字体是Web字体中最佳格式,他是一个开放的TrueType/OpenType的压缩版本,同时也支持元数据包的分离,支持这种字体的浏览器有【IE9+,Firefox3.5+,Chrome6+,Safari3.6+,Opera11.1+】;

4、Embedded Open Type(.eot):

.eot字体是IE专用字体,可以从TrueType创建此格式字体,支持这种字体的浏览器有【IE4+】;

5、SVG(.svg)格式:

.svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有:
    【Chrome4+,Safari3.1+,Opera10.0+,iOS Mobile Safari3.2+】。

所以,如果不考虑手机上的字体兼容,实际上只需要2种格式就好.

(1)eot :用于兼容IE浏览器的字体格式
    (2)woff :其他非IE浏览器都已经兼容的字体格式

二、获取你所需要的google font的各类型字体格式

一般来说,google font 只提供了字体的TTF格式,将你喜欢的google font的字体TTF下载下来。网上转换的工具很多,我们只要将TTF转换为上述的其他几种格式,比如eot,woff即可。

http://www.fontsquirrel.com/fontface/generator在线转换它可以一次性的生成eot,woff.svg,ttf多种字体格式,而且还带有相应的CSS和HTML预览,非常方便。

转换完成后,将相关的字体上传到你的网站服务器,接下来,我们用@font-face的语法来调用他就可以了。

三、在你的CSS中使用@font-face,本地化使用google font。

基本语法网上说明很多,不多介绍了。来个实际例子:

@font-face {
    font-family: 'open_sansregular';
    src: url('opensans.eot');
    src: url('opensans.eot?#iefix') format('embedded-opentype'),
         url('opensans.woff2') format('woff2'),
         url('opensans.woff') format('woff'),
         url('opensans.ttf') format('truetype'),
         url('opensans.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
 

在这里,通过@font-face,我自定义了一个名为的Tangerine-b字体,相关的eot,woff,ttf,svg字体格式上传在/font/目录下面。这里使用的是相对路径,当然你也可以使用绝对路径。

离最后效果只差一步了,就是把自己定义的字体应用到你的Web中的DOM元素上,比如:

body {
  font-family: 'open_sansregular'
}

最新文章

  1. AngularJs学习笔记(制作留言板)
  2. PHP7 错误处理
  3. Android-----test----monkeyrunner
  4. sql server使用中遇到的问题记录
  5. Kudu 实时的存储系统
  6. 2015安徽省赛 D.锐雯上单不给就送
  7. 关于typedef的用法总结(转)
  8. RCF
  9. IText 生成页脚页码
  10. linux下获得块设备大小
  11. Linux命令行批量替换多文件中的字符串【转】
  12. jQuery 序列化表单 serialize() serializeArray()
  13. Swift - 使用CABasicAnimation实现动画效果
  14. Bootstrap Flat UI的select下拉框显示不出来 问题解决
  15. File 常用方法
  16. Android 开发笔记___RadioButton
  17. LOJ 10002 喷水装置 未完
  18. Spark记录-Spark性能优化(开发、资源、数据、shuffle)
  19. 【SqlServer】Sqlserver中的DOS命令操作
  20. laravel控制器方法中,用函数作为变量进行传递时的处理方法

热门文章

  1. SPI机制
  2. js中的break ,continue, return (转)
  3. C#中as用法
  4. HTML5 input placeholder 颜色修改示例
  5. gruntjs
  6. 安装dubbo-admin遇到的问题和解决之道
  7. php区分new static 和new self
  8. C#与C/C++的交互
  9. python对象
  10. 获取tp-link中的拨号密码