经常使用windows操作系统的朋友都知道,系统盘的windows文件夹下 面的fonts文件夹下面有很多ttf格式的文件,这就是字体文件,我们在浏览网页的时候,编写文档的时候,甚至写代码的时候都要用到这些字体来显示我们 的内容。但是考虑这样一种情况,如果你在你的电脑里安装了一种特殊的字体,比如某种艺术字体,然后使用该字体设计了一个网页,编写了一个word文档,然 后你将网页或者该文档放到了另外一台电脑上,会出现什么情况,很有可能显示效果完全不是你想要的。因为什么?因为对方的电脑上没有该字体。

      这个问题在word文档中比较明显,但是最明显的还是网页里。因为浏览网页的人来自四面八方,电脑配置也各不相同,字体的安装情况当然不一样。正如W3School中所说的“例如,字体 Times、Times New Roman 和 TimesNR 可能很类似,甚至完全相同,不过用户代理怎么能知道这一点呢?创作人员可能在一个文档中指定字体为 TimesNR,但是如果用户机器上没有安装这种字体,用户查看文档会看到什么呢?即使安装了 Times New Roman,用户代理也不知道这两个字体(Times New Roman 和 TimesNR)实际上是可以互换的。如果你希望一个浏览器上一定采用某种字体,请别妄想了。

      与文字处理软件相比,CSS 对字体并没有提供更多的最终控制;比如加载你创建的一个 Microsoft Office 文档时,其显示可能取决于他已经安装的字体。如果他安装的字体与你的字体不同,那么文档看上去会大不相同。使用 CSS 设计的文档也是如此。

      涉及到各种繁杂的字体变形时,如粗体或斜体文本,字体命名的问题就更是混乱。大多数人都知道,斜体文本看上去很像,但是很少有人能解释它与倾斜文本有什么区别,甚至不知道二者之间存在区别。”

      为了解决这一问题,W3C组织在CSS中进行了大胆的尝试,他们将几乎所有的字体根据他们的特征进行了分类,形成了font-family,也就是字体族,简称字体,而不是我们常常认为的字体一定指某种特定的一种字体。


这些字体成比例,而且有上下短线。如果字体中的所有字符根据其不同 大小有不同的宽度,则成该字符是成比例的。例如,小写 i 和小写 m 的宽度就不同。上下短线是每个字符笔划末端的装饰,比如小写 l 顶部和底部的短线,或大写 A 两条腿底部的短线。Serif 字体的例子包括 Times、Georgia 和 New Century Schoolbook。 Sans-serif 字体 这些字体是成比例的,而且没有上下短线。Sans-serif 字体的例子包括 Helvetica、Geneva、Verdana、Arial 或 Univers。 Monospace 字体 Monospace 字体并不是成比例的。它们通常用于模拟打字机打出的文本、老式点阵打印机的输出,甚至更老式的视频显示终端。采用这些字体,每个字符的宽度都必须完全相 同,所以小写的 i 和小写的 m 有相同的宽度。这些字体可能有上下短线,也可能没有。如果一个字体的字符宽度完全相同,则归类为 Monospace 字体,而不论是否有上下短线。Monospace 字体的例子包括 Courier、Courier New 和 Andale Mono。 Cursive 字体 这些字体试图模仿人的手写体。通常,它们主要由曲线和 Serif 字体中没有的笔划装饰组成。例如,大写 A 再其左腿底部可能有一个小弯,或者完全由花体部分和小的弯曲部分组成。Cursive 字体的例子包括 Zapf Chancery、Author 和 Comic Sans。 Fantasy 字体 这些字体无法用任何特征来定义,只有一点是确定的,那就是我们无法很容易地将其规划到任何一种其他的字体系列当中。这样的字体包括 Western、Woodblock 和 Klingon。

理论上讲,用户安装的任何字体系列都会落入到上述某种通用系列中,但实际上可能并非如此,不过例外情况(如果有的话)往往很少。

这里我们只要保证大多数人都可以正常浏览就可以了,就好像浏览器的兼容性一样,一个页面不可能照顾所有的浏览器,或者说所有的客户端。只要大多数照顾到就可以了。