W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

CSS3 字体



With CSS3, web designers are no longer forced to use only web-safe fonts

CSS3 @font-face 规则

Web字体允许Web设计师使用未安装在用户计算机上的字体。

当你发现您要使用的字体文件时,只需简单的将字体文件包含在网站中,它会自动下载给需要的用户。

您"自己的"的字体是在 CSS3 @font-face 规则中定义的。


浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

属性
@font-face 4.0 12.0 9.0 3.5 3.2 10.0

不同的字体格式

TrueType字体(TTF)

TrueType是在上世纪80年代末由苹果和微软开发的一种字体标准。TrueType是Mac OS和微软Windows操作系统最常用的字体格式。

OpenType字体(OTF)

OpenType字体是一个可扩展的计算机字体格式。它建立在TrueType上,是微软的注册商标。OpenType字体常用于主要的计算机平台。

Web开放字体格式(WOFF)

WOFF是在网页中使用的字体格式。它的开发时间是在2009年,现在是一个W3C推荐标准。其本质上是OpenType或者TrueType压缩和额外的元数据。其目标是支持从服务器到客户端的网络带宽约束的字体分布。

Web开放字体格式 (WOFF 2.0)

TrueType或OpenType字体提供更好的压缩比WOFF1.0。

SVG字体/形状

SVG字体让SVG作为符号时显示文本。SVG 1.1规范定义了一个字体模块允许创建SVG文档中的字体。你也可以使用CSS和SVG文档,@font-face规则可以应用到SVG文件的文本。

嵌入式OpenType Fonts(EOT)

EOT字体是一个紧凑的OpenType字体由微软设计用于在网页上嵌入字体形式。


浏览器支持的字体格式

表格中的数字表示支持该属性的第一个浏览器版本号。

字体格式
TTF/OTF 9.0* 4.0 3.5 3.1 10.0
WOFF 9.0 5.0 3.6 5.1 11.1
WOFF2 Not supported 36.0 35.0* Not supported 26.0
SVG Not supported 4.0 Not supported 3.2 9.0
EOT 6.0 Not supported Not supported Not supported Not supported

使用您需要的字体

在新的 @font-face 规则中,您必须首先定义字体的名称(比如 myFirstFont),然后指向该字体文件。

lamp 提示:URL请使用小写字母的字体,大写字母在IE中会产生意外的结果

如需为 HTML 元素使用字体,请通过 font-family 属性来引用字体的名称 (myFirstFont):

Example

@font-face {
    font-family: myFirstFont;
    src: url(sansation_light.woff);
}

div {
    font-family: myFirstFont;
}
尝试一下 >>

使用粗体文本

您必须添加另一个包含粗体文字的@font-face规则:

Example

@font-face {
    font-family: myFirstFont;
    src: url(sansation_bold.woff);
    font-weight: bold;
}
尝试一下 >>

该文件"Sansation_Bold.ttf"是另一种字体文件,包含Sansation字体的粗体字。

浏览器使用这一文本的字体系列"myFirstFont"时应该呈现为粗体。

这样你就可以有许多相同的字体 @font-face 的规则。


CSS3 字体描述

下表列出了所有的字体描述和里面的@font-face规则定义:

描述符 描述
font-family name 必需。规定字体的名称。
src URL 必需。定义字体文件的 URL。
font-stretch
  • normal
  • condensed
  • ultra-condensed
  • extra-condensed
  • semi-condensed
  • expanded
  • semi-expanded
  • extra-expanded
  • ultra-expanded
可选。定义如何拉伸字体。默认是 "normal"。
font-style
  • normal
  • italic
  • oblique
可选。定义字体的样式。默认是 "normal"。
font-weight
  • normal
  • bold
  • 100
  • 200
  • 300
  • 400
  • 500
  • 600
  • 700
  • 800
  • 900
可选。定义字体的粗细。默认是 "normal"。
unicode-range unicode-range 可选。定义字体支持的 UNICODE 字符范围。默认是 "U+0-10FFFF"。