css3属性@font-face以及其format属性
一、@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) 帮助浏览器识别.oet字体格式
format(OpenType) 帮助浏览器识别.otf字体格式
- 字体格式如下:
- trueType格式(.ttf) -- Windows和Mac上常见的字体格式,是一种原始格式,因此它并没有为网页进行优化处理。 浏览器支持:IE9+,FireFox3.5+,Chrome4.0+,Safari3+,Opera10+,IOS Mobile Safari4.2+
- OpenType格式(.otf) -- 以TrueType为基础,也是一种原始格式,但提供更多的功能。浏览器支持:FireFox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,IOS Mobile Safari4.2+
- Web Open Font格式(.woff) -- 针对网页进行特殊优化,因此是Web字体中最佳格式,它是一个开放的TrueType/OpenType的压缩版,同时支持元数据包的分离。浏览器支持:IE9+, FireFox3.5+, Chrome6+, Safari3.6+,Opera11.1+
- Embedded Open Type格式(.eot) -- IE专用字体格式,可以从TrueType格式创建此格式字体。 浏览器支持:IE4+
- 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: 其中#后面表示引用名称,类似于别名。因为不是所有格式都被浏览器识别,所以不识别的时候加上备用引用名称。
致力于前端技术学习与分享,会及时更新博客。