@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属性是帮助浏览器识别字体的。浏览器是不能根据字体url后缀去自动识别字体格式的,所以使用format属性来帮助浏览器识别字体格式。
例如:format(EmbeddedOpenType) 帮助浏览器识别.eot字体格式
format(OpenType) 帮助浏览器识别.otf字体格式
字体格式如下:
为解决兼容性问题,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: 其中#后面表示引用名称,类似于别名。因为不是所有格式都被浏览器识别,所以不识别的时候加上备用引用名称。