@font-face规则在CSS3规范中属于字体模块,该规则的推出对于网页设计来讲是一个革命性的进步。在传统设计中,设计师不敢使用各类艺术字体类型,甚至是常规字体也须要慎重使用。由于设计师必须考虑每位浏览者的系统中是否安装了全部字体。有了@font-face规则,这个顾虑就能够放下了:只要在互联网上指定一种字体类型源,而无论用户电脑是否安装该字体,设计的网页都可以正确显示。css
用较为专业的话来说,@font-face可以加载服务器端的字体文件,让客户端浏览器显示客户端没有安装的字体。若是没有@font-face规则,浏览器只可以在客户端系统中寻找指定字体,这就给网页设计带来了不少限制,妨碍了设计师的创意设计,也就没法展示丰富多彩的字体艺术。html
@font-face规则的语法格式以下:git
@font-face { <font-description> }
@font-face规则的选择符是固定的,用来引用服务端的字体文件。<font-description>是一个属性名值对,格式相似以下样式:github
description: value; description: value; description: value; {...} description: value;
属性及其取指说明以下:web
须要注意的是,低版本IE浏览器只支持微软自有的.eot(Emberdded)字体样式,而其余浏览器都不支持这一格式。不过,从Safari3.1开始,网页重构工程师已经能够设置.ttf(TrueType)和.oof(OpenType)两种字体做为自定义字体了。浏览器
下面咱们来看一个简单的示例:服务器
/*引入外部字体文件*/ @font-face{ font-family: myFirstFont; /*eot格式兼容IE*/ src:url(fonts/AdineKirnber.eot); /*ttf格式兼容非IE*/ src:url(fonts/AdineKirnber.ttf); } h1{ font-family: myFirstFont,verdana,sans-serif; font-size:4em; }
运行效果以下:字体
查看在线运行效果网站
注意:嵌入外部字体的作法对于中文网站来讲不太适用。由于一个中文字体文件小的也有几M,大的有十几M,这么大的字体,其下载过程让人难以忍受,同时服务器也不能接受如此频繁的下载请求。因此对于中文来讲,若是只是想标题使用特殊字体,最好设计成图片。因为英文字体只有几十kb,与一张图片的大小差很少,若是有大量的文字须要使用该字体,存储、带宽方面就划算多了。url
最后,附上两个在线字体转换格式的网站:
font2web:http://www.font2web.com/
freefontconverter:http://www.freefontconverter.com/