CSS中@font-face的使用方法

1.介绍

@font-faceCSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许多人会不自然的问,这样的东西IE能支持吗?当我告诉大家@font-face这个功能早在IE4就支持了你肯定会感到惊讶。我的Blog就使用了许多这样的自定义Web字体,比如说首页的Logo,Tags以及页面中的手写英文体,很多朋友问我如何使用,能让自己的页面也支持这样的自定义字体,一句话这些都是@font-face实现的,为了能让更多的朋友知道如何使用他,今天我主要把自己的一点学习过程贴上来和大家分享。

2.语法

@font-face {
    font-family: <YourWebFontName>;
    src: <source> [<format>][,<source> [<format>]]*;
    [font-weight: <weight>];
    [font-style: <style>];
}

取值说明

1、YourWebFontName:此值指的就是你自定义的字体名称,最好是使用你下载的默认字体,他将被引用到你的Web元素中的font-family。如"font-family:"YourWebFontName";"

2、source:此值指的是你自定义的字体的存放路径,可以是相对路径也可以是绝路径;

3、format:此值指的是你自定义的字体的格式,主要用来帮助浏览器识别,其值主要有以下几种类型:truetype,opentype,truetype-aat,embedded-opentype,avg等;

String Font Format Common extensions
"woff" WOFF (Web Open Font Format) .woff
"truetype" TrueType .ttf
"opentype" OpenType .ttf, .otf
"embedded-opentype" Embedded OpenType .eot
"svg" SVG Font .svg, .svgz

4、weight和style:这两个值大家一定很熟悉,weight定义字体是否为粗体,style主要定义字体样式,如斜体。

3.兼容性

说到浏览器对@font-face的兼容问题,这里涉及到一个字体format的问题,因为不同的浏览器对字体格式支持是不一致的,这样大家有必要了解一下,各种版本的浏览器支持什么样的字体,前面也简单带到了有关字体的几种格式,下面我就分别说一下这个问题,让大家心里有一个概念:

1、TureTpe(.ttf)格式:

.ttf字体是Windows和Mac的最常见的字体,是一种RAW格式,因此他不为网站优化,支持这种字体的浏览器有【IE9+, Firefox3.5+, Chrome4+, Safari3+, Opera10+, iOS Mobile Safari4.2+】;

2、OpenType(.otf)格式:

.otf字体被认为是一种原始的字体格式,其内置在TureType的基础上,所以也提供了更多的功能,支持这种字体的浏览器有【Firefox3.5+, Chrome4.0+, Safari3.1+, Opera10.0+, iOS Mobile Safari4.2+】;

3、Web Open Font Format(.woff)格式:

.woff字体是Web字体中最佳格式,他是一个开放的TrueType/OpenType的压缩版本,同时也支持元数据包的分离,支持这种字体的浏览器有【IE9+, Firefox3.5+, Chrome6+, Safari3.6+, Opera11.1+】;

4、Embedded Open Type(.eot)格式:

.eot字体是IE专用字体,可以从TrueType创建此格式字体,支持这种字体的浏览器有【IE4+】;

五、SVG(.svg)格式:

.svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有【Chrome4+, Safari3.1+, Opera10.0+, iOS Mobile Safari3.2+】。

4.写法

根据字体格式的兼容性,意味着在@font-face中我们至少需要.woff,.eot两种格式字体,甚至还需要.svg等字体达到更多种浏览版本的支持。 为了使@font-face达到更多的浏览器支持,Paul Irish写了一个独特的@font-face语法叫Bulletproof @font-face:

@font-face {
    font-family: ‘YourWebFontName‘;
    src: url(‘YourWebFontName.eot?‘) format(‘eot‘);/*IE*/
    src: url(‘YourWebFontName.woff‘) format(‘woff‘)
        ,url(‘YourWebFontName.ttf‘) format(‘truetype‘);/*non-IE*/
}

但为了让各多的浏览器支持,你也可以写成:

 @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 */
}

5.相关链接

时间: 2024-10-03 06:03:47

CSS中@font-face的使用方法的相关文章

css中font系列常见内容

font 可以一次性定义以下五种属性的值,常见的是前四种.不用所有的都写上,有什么些什么,没有的不写,各个属性值之间用空格. 说实话,如果能够单独写就单独写,真不知道这样写有什么样的好处,还麻烦 注意:书写的顺序 font-style font-variant font-weight font-size/line-height font-family 另外还有一些别的属性值:主要是应用在一些特殊的应用场景的制定字体,比如下拉列表.按钮.对话框.图标标记.窗口状态栏等等 caption 定义被标题

CSS中让图片垂直居中的方法

在网页实现的过程中,经常会遇到图片垂直居中[水平居中的话,“text-align:center;”即可搞定]的情况.有时难免会遇到图片大小不同,但是要垂直居中于大小一样的容器里,这时候就比较棘手了.以前练习的时候,总是用一样的图片进行排版,避重就轻.但是今天,面对这个问题,觉得有必要挑战一下自己,同时也为有同样困惑的朋友们做一下探讨.以下内容就是我做的总结,简单又实用. 简述: 将外部容器的显示模式设置成display:table-cell,[针对IE6/IE7]在img标签的前面插入一对空标签

CSS中font属性的注意事项

font包含font-style font-variant font-weight font-size/line-height font-family; 在书写font属性时font-style font-variant font-weight 在前,且顺序可以随意排列:font-size/line-height font-family在后,且顺序是固定的:而且font属性的声明中必须要包含font-size font-family这两个属性,否则,整个声明都是无效的. 在使用font声明时,会

css 中font属性知识点总结

一. font属性值可以继承.例如子元素可以继承父元素的行高,字体大小等等. 二.font属性可以进行连写:font: font-sytle  font-weight  font-size/line-height font-family; 三.font连写要注意两点:1.font属性联写中必须有font-size  和 font-family:2.font属性联写中,font-size  必须在font-family 前.

CSS中识别各类IE的方法

IE6 only: * html .ie6 { property: value; } or html .ie6 { _property: value; } IE7 only: *+html .ie7 { property: value; } or *:first-child+html ie7 { property: value; } IE6 and IE7: @media screen\9 { ie67 { property: value; } } or .ie67 { *property: v

CSS中(font和background)的简写形式

转自:http://blog.csdn.net/shenzhennba/article/details/7356095 1.字体属性主要包括下面几个:font-family(字体族): "Arial"."Times New Roman"."宋体"."黑体"等;font-style(字体样式): normal(正常).italic(斜体)或oblique(倾斜);font-variant (字体变化): normal(正常)或s

css 中在图片中加入文字的方法

父div 相对定位 子 div 绝对定位(文字的话span标签即可) 子div 可以是多个,实现div同位置叠加 <div class='a'> <div class='b'></div> <div class='c'> <span>文字</span> </div> <div class='d'></div> </div> .a{ width:400px; height:400px; p

CSS中元素水平居中和垂直居中的方法

#CSS中水平居中和垂直居中的方法 一. 水平居中 1.行内元素(文本,图片等) 如果被设置元素为文本.图片等行内元素时,可以通过给父元素设置` text-align:center;` 来实现 2.定宽块级元素 可以通过设置“左右margin”值为“auto”来实现居中 常用的有 `margin:0 auto; ` 也可以写成`margin-left:auto;margin-right:auto;` 3.不定宽块级元素 有三种实现方法: * 加入 table 标签   为需要设置的居中的元素外面

网页中添加下划线的方法汇总及优缺点

本文主要介绍了添加下划线样式的几乎所有方法,并且比较了每一种方法的优缺点.没想到之前一直没有注意的下划线还有这么多玄机奥秘! 本文由 nzbin 翻译,艾凌风 校稿.未经许可,禁止转载! 英文出处:css-tricks.com 发表地址:http://web.jobbole.com/89425/ 有很多种添加下划线样式的方法.可能你还记得< Crafting link underlines on Medium >这篇文章.Medium 并没有尝试特殊的方法,只是想创建一个漂亮的看起来正常的下划

中文字体在CSS中的表达方式

在写一个网站的样式表的时候,都会不可避免地用到一些中文字体,比如说微软雅黑.黑体等,除非是做英文站,或者说你乐意整站都用浏览器默认的字体,那我也算服了U.在 CSS 中写入中文字体的方法一般采用 font-family:"微软雅黑","黑体";这样类似的表达方式,但是对于像 WordPress 这样需要 UTF8 编码平台来说,一个不注意没有转换编码就会导致中文字体无法按照希望的字体表形出来.所以我们可以通过英文.unicode 这种形式来表达中文,比如说刚才的 f