CSS @font-face 规则

CSS @font-face 允许网页开发者为其网页指定在线字体。 通过这种作者自备字体的方式,@font-face 可以消除对用户电脑字体的依赖。 @font-face 不仅可以放在在CSS的最顶层, 也可以放在 @规则 的 条件规则组 中。


实例

指定一种名为 "myFirstFont" 的字体,并规定可以找到它的 URL:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. @font-face {
  6. font-family: myFirstFont;
  7. src: url(sansation_light.woff);
  8. }
  9. div {
  10. font-family: myFirstFont;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h2>@font-face 规则</h2>
  16. <div>通过 CSS,网站终于可以使用除预先选择的“网络安全”字体以外的其他字体。</div>
  17. </body>
  18. </html>

定义和用法

通过使用 @font-face 规则,Web 设计师不必再使用任何一种"网络安全"字体。

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

提示:字体的 URL 使用小写字母。大写字母可能会在 IE 中产生意外结果!

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

  1. div {
  2. font-family: myFirstFont;
  3. }

浏览器支持

Internet Explorer、Firefox、Opera、Chrome 和 Safari 都支持 @font-face 规则。

表格中的数字注明了完全支持字体格式的首个浏览器版本。

字体格式
TTF/OTF9.0*4.03.53.110.0
WOFF9.05.03.65.111.1
WOFF2 14.036.039.010.026.0
SVGNot supportedNot supported Not supported3.2Not supported
EOT6.0Not supportedNot supportedNot supportedNot supported
  • Edge 和 IE: 字体格式仅在设置为 "installable" 时有效
  • Firefox:默认情况下是禁用的,但可启用(需要将 flag 设置为 "true" 才能使用 WOFF2)。

语法

  1. @font-face {
  2. font-properties
  3. }
字体描述符描述
font-familyname必需。定义字体名称。
srcURL必需。定义下载字体的 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-rangeunicode-range可选。定义字体支持的 Unicode 字符范围。默认值是 "U+0-10FFFF"。

更多实例

实例

您必须添加另一个 @font-face 规则,其中包含粗体文本的描述符:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. @font-face {
  6. font-family: myFirstFont;
  7. src: url(/example/css/sansation_light.woff);
  8. }
  9. @font-face {
  10. font-family: myFirstFont;
  11. src: url(/example/css/sansation_bold.woff);
  12. font-weight: bold;
  13. }
  14. div {
  15. font-family: myFirstFont;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <h2>@font-face 规则</h2>
  21. <div>通过 CSS,网站终于可以使用除预先选择的“网络安全”字体以外的其他字体。</div>
  22. </body>
  23. </html>

文件 "sansation_bold.woff" 是另一个字体文件,其中包含 Sansation 字体的粗体字符。

每当设置字体族 "myFirstFont" 的一段文本应呈现为粗体时,浏览器就会使用它。

这样,您可以为同一字体设置多个 @font-face 规则。


相关页面

CSS 教程:CSS Web 字体

分类导航