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'
}

Google Font字体本地化使用提高网站访问速度的更多相关文章

  1. 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。

    巧用linux服务器的/dev/shm/ 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度. 首先让我们认识一下,什么是tmpfs和/dev/shm/? ...

  2. 使用 Nginx 提升网站访问速度

    使用 Nginx 提升网站访问速度 http://www.ibm.com/developerworks/cn/web/wa-lo-nginx/ Nginx 简介 Nginx ("engine ...

  3. 使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度

    使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度 一些泛WEB 2.0网站为了追求用户体验,可能会大量使用CSS和JS文件.这就导致在服务器带宽一定的情况下,多用户并发访问速度变慢.如何加 ...

  4. [技术博客]使用CDN加快网站访问速度

    [技术博客]使用CDN加快网站访问速度 2s : most users are willing to wait 10s : the limit for keeping the user's atten ...

  5. 利用curl并发来提高页面访问速度

    在我们平时的程序中难免出现同时访问几个接口的情况,平时我们用curl进行访问的时候,一般都是单个.顺序访问,假如有3个接口,每个接口耗时500毫 秒那么我们三个接口就要花费1500毫秒了,这个问题太头 ...

  6. 如何使用ping和tracert命令测试网站访问速度

    在我们平时访问的网站中,有一些网站访问速度非常快,比如百度搜索网站和一些门户网站,有些网站访问很慢,有些网站甚至无法访问.那么我们该如何判断这些网站的访问速度呢?下面我们就使用Windows的ping ...

  7. Apache 使用gzip、deflate 压缩页面加快网站访问速度

    Apache 使用gzip 压缩页面加快网站访问速度 介绍: 网页压缩来进一步提升网页的浏览速度,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少.   原理 ...

  8. wordpress | 网站访问速度优化方案(Avada)

    一.谷歌字体 原因: Wordpress系统默认使用谷歌字体,在国内谷歌域名被屏蔽,所以导致操作反应慢. 解决方法: 对于后台:找到Wordpress这个文件 /wp-includes/script- ...

  9. 10倍速!一招儿解决因googleapis被墙导致的许多国外网站访问速度慢的问题

    1x.com 是我非常喜欢的一家国外的摄影网站.但,打开它的首页要1分多钟!点击小图看大图的二级页面根本打不开.看着写着“Nude content”的小图却点不开大图的心情你们造吗?!很多国外网站访问 ...

随机推荐

  1. nodevalue

    在改变文本节点值时,使用DOM的nodeValue属性,用来得到和设置一个节点的值. 代码示例: html: <p id="description">choose a ...

  2. 多表关联 update

    UPDATE t_invests INNER JOIN t_user_coupons ON t_invests.user_coupon_id = t_user_coupons.id SET t_inv ...

  3. 《深入浅出Node.js》第6章 理解 Buffer

    @by Ruth92(转载请注明出处) 第6章 理解 Buffer ✁ 为什么需要 Buffer? 在 Node 中,应用需要处理网络协议.操作数据库.处理图片.接收上传文件等,在网络流和文件的操作中 ...

  4. Android之自定义控件-城市选择

    实现效果: 图片素材:           --> 首先, 城市数据字节放在 Json 文件, 就不网络获取了. city.json 存放 Json 数据: { "result&quo ...

  5. 廖雪峰Python教程疑问

    1. 字符串的strip()方法 原文: “把一个序列中的空字符串删掉,可以这么写: def not_empty(s): return s and s.strip() list(filter(not_ ...

  6. Visual Studio 2013 各个版本的产品密钥

    win7/win8/win10系统下Visual Studio 2013各个版本的密钥: Visual Studio Ultimate 2013 KEY:BWG7X-J98B3-W34RT-33B3R ...

  7. socket reuse

    int k   =   1;    if( SUCCESS != m_socketServer.setSockOptSocket( SO_REUSEADDR, (char*)&k, sizeo ...

  8. Lua 自定义函数string.split

    function string.split(str, delimiter)    if str==nil or str=='' or delimiter==nil then        return ...

  9. cpp项目的组织

    编译篇 较大型cpp项目的代码组织.编译都是深耦合的. 一般提供一个总体的makefile,进入各个模块,又有自己的makefile,这些makefile又都依赖于一些被include的文件的的定义, ...

  10. android studio入门

    目前的工作是蓝牙相关的,所以最近心血来潮想折腾下Android开发,方便调试自己的固件, 装好Android Studio跟SDK之后,感谢nordic的公开代码,研究了一会,感觉并没有多费劲 相关的 ...