经常有人来问有关网页字体的问题,比如说中文网站字体能否不要用有点土的宋体,换成比如高端大气上档次的造字工房的艺术字体之类的,或者英文站字体想用一些很漂亮的特殊字体之类的云云,鉴于此类问题极为普遍,我想有必要做一个系统化的解答如下:

    第一种:用样式表font-family控制字体效果

    一方面网页上除了做成图片格式的字体以外,可以被选中和拷贝的字体效果主要受控于CSS样式表里边的一个font-family属性,这个属性可以设置成任意已知的字体名称,但是这里有一个浏览器兼容性问题,众所周知我们目前常用的操作系统五花八门,主流的比如Windows系列就有XP,WIN7,WIN8等,还有Linux系列比如Ubuntu,还有Mac系列,还有平板和移动设备等等,每个不同的设备默认内嵌的字体有一定的区别,比如最古老的但是还是被大陆地区好多用户始终不离不弃的WIN XP系统,默认字体是宋体,如果你的网页字体设置的font-family为微软雅黑字体,那么用XP操作系统访问的用户除非他刻意在他电脑里边安装了微软雅黑字体,否则他是无法看到雅黑字体效果的,看到的仍然是宋体效果,这个就是样式表里边font-family属性的局限性,必须依赖于访客电脑上的已有的字体来显示,这个限制同样适用于英文字体网页;

    第二种:用云端字库比如Google Fonts来远程调用云端字库

    这种方法仅适用于体积较小的字母类字体,比如英文字体,而对于中文字体动辄一个字体就好几M的情况下,显然根本无法通过云端字库来支持特殊字体的效果显示,试想一个网页为了载入速度快,都要设法控制尽量体积小一些,如果载入了一个好几M的云端中文字体,那么这个网页可想而知载入速度会有多慢了,对于英文字体载入了Google Fonts的情况下,由于大陆地区最近对Google所有服务进行了全线屏蔽,导致了此类情况下在大陆地区访问这些网站变得非常缓慢,具体情况请访问我们的另外一篇知识库文章 为什么网站打开很慢?

    第三种:用cufon的方式生成图片字体

    用预置于服务器端的字体文件在访客访问相关网页的时候,临时生成一个图片字体展示给访客,这种方式同样仅限于英文类的字母字体,同时也可能在大陆地区因为载入了Google的一些JS库而导致网页变慢。