制作网页时如何使用特殊字体
对于网站制作者&前端老湿们来说,为了确保显示效果,长期以来不得不一直使用“安全字体”,英文网站一律是 Verdana,中文网站一律是宋体——因为这是每台浏览网页的电脑里肯定装有的字体。
这是设计理念不断进步的UI老师们所不能容忍的。字体可是页面效果的根本,好比T台模特的衣服换了千万种,但你只能用这一两个模特(对于中文用户那就几乎只有一个宋体)?如何才能在网页上应用丰富的字体效果?
特殊字体应用方案
目前方案无非三种:
- 客户打开网页的时候,提示客户安装该字体。
- 制作图片嵌入网页。
- 把字体嵌入到网页中(通过上传字体文件到指定目录,让CSS引用显示)。
第一种方案明显存在弊端,用脚本程序去识别客户端是否含有该字体,加重程序的负载量。而且严重影响用户的体验。效果最次!
第二种方案生成图片,网页加载慢,不利于百度收录,效果差!
第三种方案流量小加载速度快,效果最好!
第三种方案就是指网络字体(web font,也被称为“网页内嵌字体”或“网页外调字体”),通过上传字体文件到指定目录,然后在CSS中用规定格式进行引用就可以使字体效果跃上你的页面了,使网页用字不再受浏览客户端的影响。
网络字体与浏览器支持
网络字体是靠CSS中的@font-face语句来实现的,通常认为网络字体是CSS3中的一个模块,其实早在CSS2中就已经有了,连老古董IE6甚至IE4都支持。其他和种浏览器包括手机浏览器也都完美支持(如IE、360、搜狗、火狐、chrome、safari、Opera等)。
网络字体使用方法
各种浏览器都支持@font-face语句,但嵌入的字体文件却是各自为政。要想使所有浏览器都能正常显示,那你就得准备各种格式的字体文件进入嵌入(.eot、.woff、.svg、.ttf)。
可以将字体上传到FontSquirrel上,自动生成所需要的所有格式。然后将文件上传到空间,然后根据@font-face语句规范进行引用。
中文网络字体使用方法
中文字体要注意一下,因为中文字体不同于英文,一套中文字体一般4-6M如果整套嵌入的话,没有多少浏览者会有耐心等到字体加载完,在加载完之前已经关闭页面了。
所以中文字体需要事先进行截取,根据文章内容涉及到的字进行截取,截取后的小字体方可嵌入使用。
没错中文确实太麻烦了,这也是为什么英文网页使用网络字体那么多,中文却很少遇到。
第三方平台简易操作
要准备各种格式的文件操作起来太麻烦了,尤其中文还要截取小字库。
没有专业的工具就很难实现了,不过不用担心,如果借助于第三方平台,这一切就易如反掌。
现在网上已经出现一些很好的平台。如英文的typekit、fontdeck、google font等,中文的“有字库”youziku.com等,都可以大大方便网络字体的使用。
有字库主要针对中文网络字体引用,使用方法主要有两种:
- CSS方式
选定字体后,需要提交文章内容,网站会根据文章内容截取成小字库,自动生成各种格式的字体文件(.eot、.woff、.svg、.ttf),并返回一个css文件引用的Link标签,只需要将此Link标签引入页面的head标签中即可,最后别忘了在引用网络字体的标签上设置class。
- javascript方式
选定字体后,网站会提供给你一段javascript脚本,不需要提交文章,直接将脚本引入</body>之后</html>之前,就可以了,脚本会自动根据当前文章内容生成各种格式的字体文件,并嵌入到当前页面。