@font-face优化处理办法
下面的语法是你如何使用@ font-face的。首先,定义新的字体所提供的名称和说明的字体。
@font-face { font-family: DeliciousRoman; src: url('http://www.font-face.com/fonts/delicious/Delicious-Roman.otf'); }
然后你引用它。
p { font-family: DeliciousRoman, Helvetica, Arial, sans-serif; }
就是这样。
在前面的例子中使用外部来源。但是,如果将字体文件是在您的服务器上,那么你可以参考以下的方式:
@font-face { font-family: DeliciousRoman; src: url('…/Delicious-Roman.otf'); }
此外,还有其他三个字体属性,您应该知道的。首先是font-stretch,您可以设定的字体会被拉伸,“normal’”是默认的。此外,有字体的风格,让你的字体是斜或斜体。最后,还有字体的重量,最后字体为粗体,等你可以自己设置.
用以上方法,可能导致浏览器假死。所以可以采用下面的方式,用js进行优化。
1 function lazyload() {
2 var sRule1 =
3 “@font-face {“ +
4 “ font-family: ‘Yanone’;“ +
5 “ src: url(‘/bin/resource.cgi?type=font&sleep=6’);“ +
6 “ src: local(‘Yanone’), “ +
7 “url(‘/bin/resource.cgi?type=font&sleep=6’) “ +
8 “format(‘truetype’);“ +
9 “}“;
10
11 var style1 = document.styleSheets[0];
12 if ( “function“ === typeof(style1.insertRule) ) {
13 // Firefox, Safari, Chrome
14 style1.insertRule(sRule1, 0);
15 }
16 else if ( “string“ === typeof(style1.cssText) ) {
17 // IE
18 style1.cssText = sRule1;
19 }
20 }
- 只在你确定你非常需要 @font-face的时候才使用他
- 将你的@font-face定义在所有的SCRIPT标签前
- 如果你有许多字体文件,考虑将它们分散到几个域名下。
- 不要包含没有使用的 @font-face声明——IE将不分它使用与否,通通加载
- Gzip字体文件,同时给它们一个未来的过期头部声明
- 考虑字体文件的后加载,起码对于IE。
谷歌字体
谷歌字体是谷歌的API,你必须选择在您的网站中使用的字体的集合。所有的字体都是免费的,开放源码的。他们的选择是相当大的,包括许多伟大的字体。此外,您还可以自由选择你喜欢的。一旦你选择了你的字体,你给出的代码片段,将其粘贴到您的网站。谷歌允许您选择不同的代码,如将CSS导入到您的<head>标签。
当谈到谷歌的字体,那肯定是一个易于使用的服务。有一件事是你要知道的:它会告诉你你所选择的字体对您的网站的加载时间的负载。