«
css3中@font-face以及其format属性

时间:2021-12-8    作者:范文泉    分类: 编程


一、@font-face是什么?如何使用@font-face?

@font-face是CSS3属性,用来指定字体样式的。指定字体名为xxx的字体,并指定在哪里可以找到它的url。实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>@font-face</title> 
<style> 
@font-face
{
    font-family: myFirstFont;
    src: url('Sansation_Light.ttf')
        ,url('Sansation_Light.eot'); /* IE9 */
}

div
{
    font-family:myFirstFont;
}
</style>
</head>
<body>

<div>
使用 CSS3,网站终于可以使用字体以外的预先选择“合法”字体
</div>

</body>
</html>

@font-face用法的简要概述:先用@font-face指定好字体名和url,然后给html元素的font-size赋值为@font-face中指定好的字体名称,即可使用该字体。

二、什么是format属性?如何使用format属性?

format属性是帮助浏览器识别字体的。浏览器是不能根据字体url后缀去自动识别字体格式的,所以使用format属性来帮助浏览器识别字体格式。  
  例如:format(EmbeddedOpenType) 帮助浏览器识别.eot字体格式

  format(OpenType) 帮助浏览器识别.otf字体格式

字体格式如下:

  1. trueType格式(.ttf) -- Windows和Mac上常见的字体格式,是一种原始格式,因此它并没有为网页进行优化处理。 浏览器支持:IE9+,FireFox3.5+,Chrome4.0+,Safari3+,Opera10+,IOS Mobile Safari4.2+
  2. OpenType格式(.otf) -- 以TrueType为基础,也是一种原始格式,但提供更多的功能。浏览器支持:FireFox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,IOS Mobile Safari4.2+
  3. Web Open Font格式(.woff) -- 针对网页进行特殊优化,因此是Web字体中最佳格式,它是一个开放的TrueType/OpenType的压缩版,同时支持元数据包的分离。浏览器支持:IE9+, FireFox3.5+, Chrome6+, Safari3.6+,Opera11.1+
  4. Embedded Open Type格式(.eot) -- IE专用字体格式,可以从TrueType格式创建此格式字体。 浏览器支持:IE4+
  5. SVG格式(.svg) -- 基于SVG字体渲染的格式。 浏览器支持:Chrome4+, Safari3.1+, Opera10.0+, IOS Mobile Safari3.2+

为解决兼容性问题,Paul Irish写了称为Bulletproof的一个独特的@font-face语法:

@font-face { 
font-family: ‘YourWebFontName’; 
src: url(‘YourWebFontName.eot’); /* IE9 Compat Modes */ 
src: url(‘YourWebFontName.eot?#iefix’) format(‘embedded-opentype’), /* IE6-IE8 */ 
url(‘YourWebFontName.woff’) format(‘woff’), /* Modern Browsers */ 
url(‘YourWebFontName.ttf’) format(‘truetype’), /* Safari, Android, iOS */ 
url(‘YourWebFontName.svg#YourWebFontName’) format(‘svg’); /* Legacy iOS */ 
}

tips: 其中#后面表示引用名称,类似于别名。因为不是所有格式都被浏览器识别,所以不识别的时候加上备用引用名称。

标签: css 网页设计