找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
积分等级发帖收益的说明江阴论坛帮助汇总江阴论坛管理规则(必看)江阴论坛版主招聘中江阴论坛已运行
查看: 1546|回复: 0

[技术分享] 在网页中嵌入任意字体的解决方案

[复制链接]
发表于 2009-12-21 12:18:04 | 显示全部楼层 |阅读模式
字体使用是网页设计中不可或缺的一部分。经常地,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内置字体,这样用户在浏览页面的时候就有可能看不到真实的设计。美工设计师最常做的办法是把想要的文字做成图片,这样做有几个明显缺陷: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文件,我们需要通过这种文件格式转换为其余两种文件格式。字体文件格式的转换可以通过网站FontsQuirrelonlinefontconverter提供的在线字体转换服务获取。这里推荐第一个站点,它允许我们选择需要的字符生成字体文件(在服务的最后一个选项),这样就大大缩减了字体文件的大小,使得本方案更具实用性。
【第二步】
获取到三种格式的字体文件后,下一步要在样式表中声明该字体,并在需要的地方使用该字体。
字体声明如下:
  1. @font-face {
  2.         font-family: 'fontNameRegular';
  3.         src: url('fontName.eot');
  4.         src: local('fontName Regular'),
  5.               local('fontName'),
  6.               url('fontName.woff') format('woff'),
  7.               url('fontName.ttf') format('truetype'),
  8.               url('fontName.svg#fontName') format('svg');
  9. }  
复制代码
/*其中fontName替换为你的字体名称*/

在页面中需要的地方使用该字体:
  1.     p { font: 13px fontNameRegular, Arial, sans-serif; }
  2.     h1{font-family: fontNameRegular}
复制代码
或者
  1.      <p style="font-family: fontNameRegular">掬水月在手,落花香满衣</p>
复制代码
原文:http://css9.net/css-font-face-solution/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|江阴人家

GMT+8, 2024-12-28 22:02 , Processed in 0.017408 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表