博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在网页中嵌入任意字体(特殊字体/自定义字体)的解决方案
阅读量:6965 次
发布时间:2019-06-27

本文共 2529 字,大约阅读时间需要 8 分钟。

字体使用是网页设计中不可或缺的一部分。经常地,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内

置字体,这样用户在浏览页面的时候就有可能看不到真实的设计。美工设计师最常做的办法是把想要的文字做成图片,这样做
有几个明显缺陷: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文件,我们需要通过这种文件格式转换为其余两种文件格式。字体文件格式的转换可以通过网站
FontsQuirrel或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>
<!--------代码--如下------>
<!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>在网页中嵌入任意字体的完整解决方案 - CSS9.NET</title>
<link rel="stylesheet" href="http://www.blueidea.com/articleimg/2009/12/7263/style.css" />
<style type="text/css">
@font-face {
    font-family: 'hakuyoxingshu7000Regular';
    src: url('http://www.blueidea.com/articleimg/2009/12/7263/7000.eot');
    src: local('hakuyoxingshu7000 Regular'), local('hakuyoxingshu7000'), url('http://www.blueidea.com/articleimg/2009/12/7263/7000.ttf') format('truetype'), url('http://www.blueidea.com/articleimg/2009/12/7263/7000.svg#hakuyoxingshu7000') format('svg');
}
#poem{
     font-size:45px;
     font-family:hakuyoxingshu7000Regular;
     text-align:center;
}
#poem p{height:30px;line-height:30px;}
</style>
</head>
<body>
<div id="testdiv">
    <h1>在网页中嵌入任意字体的完整解决方案 - CSS9.NET</h1>
    <h2>访问原文: <a href="http://css9.net/css-font-face-solution/">http://css9.net/css-font-face-solution/</a>&nbsp;&nbsp;&nbsp;关注Web前端开发 - <a href="http://css9.net">CSS9.NET</a></h2>
    <div id="poem">
<h3>云为素食</h3>
<p>京城有同窗,相约素食阁。</p><p>听者犹未尽,言者语已多。</p><p>满座皆友朋,畅谈何民科。</p><p>禅中寄小语,慎言且柔和。</p>
</div>
</body>
</html>

 

来源:

转载于:https://www.cnblogs.com/yuwensong/archive/2013/04/26/3045011.html

你可能感兴趣的文章
大公司是怎么发布静态资源的
查看>>
PHP学习之路--Mac环境的配置
查看>>
sqoop学习总结
查看>>
通过一张简单的图,让你彻底地、永久地搞懂JS的==运算
查看>>
[vue+vuex+vue-router] 强撸一发暗黑风 markdown 日记应用
查看>>
使用 FLOWCONTROLLERS 改进IOS应用架构
查看>>
【猿团专访】| 潜心研究的云视“华山派”,关于技术研发的那些事
查看>>
OAuth2.0认证
查看>>
Atom-JavaScript语法校验
查看>>
React Native 入门
查看>>
使用Volley上传头像图片
查看>>
用tbox实现内存检测
查看>>
用真机做远程调试的两种方式
查看>>
抽象类和方法
查看>>
细节:js 原型对象与for-in 方法枚举的问题
查看>>
性能优化总结
查看>>
优麒麟 19.04 即将发布,华为、阿里云、重大、360四大境像站鼎力支持!
查看>>
分布式文件系统 go-fastdfs v1.2.7 发布,增加 Nginx 配置模版
查看>>
JavaScript的setTimeout和setInterval的深入理解
查看>>
工具 - etl file references
查看>>