转自:http://www.bitsnote.com/tech/2008-05-08/63.html
美工设计师最常做的办法是把想要的文字做成图片,这样做有几个明显缺陷:
1. 不可能大范围的使用该字体;
2. 图片内容相对使用文字不易修改;
3. 不利于网站SEO(主流搜索引擎不会将图片alt内容作为判断网页内容相关性的有效因素)。
网络上有一些使用sIFR技术、或javascript/flash hack的方法,但实现起来或繁琐,或有缺陷。
下面要讲的是如何只通过CSS的@font-face属性来实现在网页中嵌入任意字体。
第一步
获取要使用字体的三种文件格式,确保能在主流浏览器中都能正常显示该字体。
.TTF或.OTF,适用于Firefox 3.5、Safari、Opera
.EOT,适用于Internet Explorer 4.0+
.SVG,适用于Chrome、IPhone
下面要解决的是如何获取到某种字体的这三种格式文件。
一般地,我们在手头上(或在设计资源站点已经找到)有该字体的某种格式文件,最常见的是.TTF文件,我们需要通过这种文件格式转换为其余两种文件格式。
字体文件格式的转换可以通过网站www.fontsquirrel.com或onlinefontconverter提供的在线字体转换服务获取。
这里推荐第一个站点,它允许我们选择需要的字符生成字体文件(在服务的最后一个选项),这样就大大缩减了字体文件的大小,使得本方案更具实用性。
第二步
获取到三种格式的字体文件后,下一步要在样式表中声明该字体,并在需要的地方使用该字体。
特殊字体声明如下:
@font-face { font-family: 'fontNameRegular'; src: url('fontName.eot'); src: local('fontName Regular'), local('fontName'), url('fontName.woff') format('woff'), url('fontName.ttf') format('truetype'), url('fontName.svg#fontName') format('svg'); } /*其中fontName替换为你的特殊字体名称*/ |
在页面中需要的地方嵌套使用该字体:
p { font: 13px fontNameRegular, Arial, sans-serif; } h1{font-family: fontNameRegular} |
或者如下
<p style="font-family: fontNameRegular">掬水月在手,落花香满衣</p> |
下面是我通过上面两步做的示例:
大家可以复制以下代码,直接运行即可,前提是上面的字体已转换
提示:可以修改后运行.