字体使用是网页设计中不可或缺的一部分。网页是文字的载体,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内置字体,这样用户在浏览页面的时候就有可能看不到真实的设计。
美工设计师最常做的办法是把想要的文字做成图片,这样做有几个明显缺陷:
一、不可能大范围的使用该字体;
二、图片内容相对使用文字不易修改;
三、不利于网站SEO。
网络上有一些使用sIFR技术、或javascript/flash hack的方法,但实现起来或繁琐,或有缺陷。下面要讲的是如何只通过CSS的@font-face属性来实现在网页中嵌入任意字体。
首先
获取要使用字体的三种文件格式,确保能在主流浏览器中都能正常显示该字体。
.TTF或.OTF,适用于Firefox 3.5、Safari、Opera
.EOT,适用于Internet Explorer 4.0+
.SVG,适用于Chrome、IPhone
浏览器兼容性一览
使用CSS3的@font-face属性可以实现在网页中嵌入任意字体,但是IE只支持微软自有的EOT格式字体,而其他浏览器都不支持这一字体格式,其它浏览器可以设置TTF(TrueType)和OTF(OpenType)两种字体作为自定义字体,浏览器对@font-face属性及各种字体格式支持详的细情况如下:
Browser | @font-face | TrueType | WOFF | EOT | SVG | SVGZ |
---|---|---|---|---|---|---|
4+ | 9+ | 9+ | 4+ | |||
3.5+ | 3.5+ | 3.6+ | ||||
4+ | 4+ | 6+ | 4+ | 6+ | ||
3.1+ | 3.1+ | 6+ | 3.1+ | 3.1+ | ||
10+ | 10+ | 11.1+ | 10+ | 10+ |
下面要解决的是如何获取到某种字体的这三种格式文件。一般地,我们在手头上(或在设计资源站点已经找到)有该字体的某种格式文件,最常见的是.TTF 文件,我们需要通过这种文件格式转换为其余两种文件格式。字体文件格式的转换可以通过网站FontsQuirrel或 onlinefontconverter提供的在线字体转换服务获取。这里推荐第一个站点,它允许我们选择需要的字符生成字体文件(在服务的最后一个选项),这样就大大缩减了字体文件的大小,使得本方案更具实用性。
然后
获取到三种格式的字体文件后,下一步要在样式表中声明该字体,并在需要的地方使用该字体。
字体声明如下:
<style type="text/css"> @font-face { font-family: MyCustomFont; src: url("Quasart.eot") /* EOT file for IE */ } @font-face { font-family: MyCustomFont; src: url("Quasart.ttf") /* TTF file for CSS3 browsers */ } </style> /*其中fontName替换为你的字体名称 - www.86y.org*/
在页面中需要的地方使用该字体:
p { font: 13px MyCustomFont, Arial, sans-serif;}
h1{font-family: MyCustomFont}
DEOM地址:http://www.86y.org/demo/fontdemo/
如需转载请注明出处:http://www.86y.org/art_detail.aspx?id=485【如何在网页中嵌入自己想要的字体(实例下载)】幸凡学习网
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>自定义字体实例-幸凡学习网http://www.ok22.org</title> <style type="text/css"> @font-face { font-family: 'fontNameRegular'; src:url('Qarmic.eot'); src:local('fontName Regular'), local('fontName'), url('fontName.woff') format('woff'), /*无此类字体*/ url('Qarmic.ttf') format('truetype'), url('fontName.svg#fontName') format('svg'); /*无此类字体*/ } </style> <style> #ads{font-family:'fontNameRegular';font-size:40px;font-weight:bold;} #ads2{font-size:40px;font-weight:bold;} </style> </head> <body> <script type="text/javascript" src="http://www.86y.org/DEMO/js/tongji.js"></script> <h2>自定义字体</h2> <div id="ads"> HELLO,world !http://www.ok22.org </div> <h2>系统默认字体</h2> <div id="ads2"> HELLO,world !http://www.ok22.org </div> </body> </html>