[CSS] 网页嵌入自定义字体方法

2021年6月22日学习笔记评论68,561字数 1010阅读3分22秒阅读模式

字体使用是网页设计中不可或缺的一部分。经常地,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内置字体,这样用户在浏览页面的时候就有可能看不到真实的设计。
美工设计师最常做的办法是把想要的文字做成图片,这样做有几个明显缺陷:
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提供的在线字体转换服务获取。
这里推荐第一个站点,它允许我们选择需要的字符生成字体文件(在服务的最后一个选项),这样就大大缩减了字体文件的大小,使得本方案更具实用性。

第二步

获取到三种格式的字体文件后,下一步要在样式表中声明该字体,并在需要的地方使用该字体。
字体声明如下:

@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’);
} 

在页面中需要的地方使用该字体:

p { font: 13px fontNameRegular, Arial, sans-serif; }
h1{font-family: fontNameRegular}

实现基于权重的随机选择算法 学习笔记

实现基于权重的随机选择算法

今天我在做一款应用时,需要随机抽取问题,但是我不希望问题出现的概率是一样的,面对这种需求该如何解决呢? 于是我想到了在 Nginx 中,实现负载均衡时,可以给每个服务分别设置权重值,来实现自定义服务被...
记一次工商银行跨境汇款到新加坡 OCBC 学习笔记

记一次工商银行跨境汇款到新加坡 OCBC

如果还不知道如何开通境外银行账户的,可以看这篇文章: 国内就可以开通境外实体银行卡!新加坡华侨银行 OCBC 开户经验分享 第一次入金 OCBC,我用的招商银行境外汇款,手续费加电报费收了我 200,...
个人文档笔记知识库 设计笔记 终于上线了 学习笔记

个人文档笔记知识库 设计笔记 终于上线了

一直有做笔记的习惯,大部分内容是分享到 设计笔记 这个网站了。 但是有一个问题,就是有些文档比较系统,需要长期更新,频繁更新网站的文章显得就有点呆。 对于这种需要长期更新的文档,之前我都是在本地建一个...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定