Google Fonts API使用教程
原文链接: https://developers.google.com/fonts/docs/getting_started
第一次翻译: 2015/12/17 18:30
2016-09-18 更新:360公共库停止服务
开始
这篇文章教你如何使用Google Fonts API来给你的网站添加字体。你不用做任何编码工作,唯一需要做的只是把一条特殊的样式表链接添加至你的HTML文档中,然后再CSS中指定这个字体即可。
注意: 如果你想在国内网站中使用Google Fonts API,请使用360的代理。使用方法:把下文中的fonts.googleapis.com全部更换为fonts.useso.com即可。
目录
一个简单的例子
这是一个简单里例子。复制粘贴下面的代码到HTML文件中:
|
|
然后再一个现代浏览器中打开这个文件,你会看到一行Tangerine
字体的字:
Making the Web Beautiful
这句话是普通的文本,所以你可以通过改变CSS来改变它的样子。试着给它加上点阴影:
body {
font-family: 'Tangerine', serif;
font-size: 48px;
text-shadow: 4px 4px 4px #aaa;
}
你会看见一些阴影在这行字下面:
Making the Web Beautiful
这仅仅是你能使用Google Fonts API做到的事中的很小一部分。概况
仅仅两步你就可以开始使用Google Fonts API了: 1. 把你想要的字体的样式链接加入到HTML文件中:
|
|
CSS selector {
font-family: 'Font Name', serif;
}
或者内嵌使用:
<div style="font-family: 'Font Name', serif;">Your text</div>
注意: 每次指定字体样式时,至少加上一个Web安全字体再最后来防止发生未定义的行为。特别地,加入一个CSS通用的字体名称如:
serif
或者sans-serif
在font-family
的最后,这样浏览器在必要的情况下会使用这些通用字体。
字体列表可以在 Google Fonts里找到。(需翻墙)
在样式链接中指定字体的样式
要决定样式链接,得从Google Fonts API根URL开始:
|
|
然后在后面增加
family=URL
的参数,URL可以为一个或多个字体的名字。比如,要使用
Inconsolata
字体:
|
|
> 注意: 字体名字里的空格都用
+
号代替。使用多个字体,用
|
符号来分隔字体。比如,要使用
Tangerine
,Inconsolata
和Droid Sans
:
|
|
这个请求允许你可以在页面中同时使用所有字体。(但是不要一次请求太多字体,大多数页面不需要这么多的字体,而且一次性请求多个字体会使页面加载变得很慢。)
Google Fonts API默认提供所请求字体的普通样式。需要指定请求字体的样式的话,要在字体后加
:
符号并且不同样式以,
符号分隔表明。比如:
|
|
想知道请求的字体提供哪些样式供选择,可以在Google Fonts页面查询。
对于每个请求的样式,既可以使用全名也可以使用简称。对于
weight
来说,你也可以用一个数值来指定:| Style | Specifiers |
| — | — |
| italic | italic或者i |
| bold | bold或者b或者一个数值:700 |
| bold italic | bolditalic或者bi |
比如: 要请求Cantarell italic和Droid Serif bold字体,你可以使用下面任意一个样式链接:
|
|
指定字体子集(Scripts)
一些Google Font目录中字体支持多种格式(比如:Latin, Cyrillic和Greek)。为了指定使用哪一个子集,需要添加一个subset参数。
比如:请求
Roboto Mono
的Cyrllic子集,需要使用如下URL:
|
|
若请求
Roboto Mono
的Greek子集,需要使用如下URL:
|
|
若请求
Roboto Mono
的Greek和Cyrillic子集,需要使用如下URL:
|
|
如果Latin子集存在的话,那么它总是会被默认包含在请求中,所以没有必要特意在URL中指定。请注意客户端浏览器是否支持子集的unicode范围,浏览器会在字体的子集中选择自己支持的来渲染。
完整的子集列表,请在Google Fonts页面中查询。
优化字体请求(Beta)
大多数情况下,当你想在你的网站或者应用中使用其它字体时,你之前就知道你会使用哪些字母。这通常发生在,你想在Logo或者标题中使用其它字体的时候。
这种情况下,你可以考虑使用
text=value
参数。这允许Google给你返回一个优化后的字体文件。在一些情况中,这可以减少字体文件约90%的大小。使用这个beta特性,只要简单地在URL请求中加入
text=
参数即可。比如:你只需要在博客标题中使用Inconsolata字体,你可以把标题本身当作参数text=
的值加入URL中。如果你的标题是Hello:
|
|
向通常的URL链接一下,你需要URL编码这个值:
|
|
这个特性也可以使用在其它语言的字体中,允许制定UTF-8字符。比如,¡Hola!编码为:
|
|
> 注意: 当用了
text=
参数的时候,就没有必要使用subset=
参数了,因为它已经允许你指定字体当中的任意字符了。启用字体特效(Beta)
当写标题或者展示一些文字的时候,你经常会想要有一些花哨的字体特效。为了简化你的工作,Google提供了一系列的字体特效来让你轻易地实现你要的效果。比如:
This is a font effect!
要使用这个beta特性,只要在样式链接中加入
effect=
参数,然后再对应的HTML元素中指定class为对应名称即可。在我们上面的例子中,我们使用了shadow-multiple
字体特效,所以请求链接会向这样:
|
|
要使用这个特效,在相应的HTML元素上把class制定为
font-effect-shadow-multiple
(前缀为font-effect-
):
|
|
你可以请求多个特效,使用
|
符号来分隔。
|
|
下面是我们提供特效的完整列表:
效果 | API名称 | Class名称 | 支持 |
---|---|---|---|
Anaglyph | anaglyph | font-effect-anaglyph | Chrome, Firefox, Opera, Safari |
Brick Sign | brick-sign | font-effect-brick-sign | Chrome, Safari |
Canvas Print | canvas-print | font-effect-canvas-print | Chrome, Safari |
Crackle | crackle | font-effect-crackle | Chrome, Safari |
decaying | font-effect-decaying | Chrome, Safari | |
Destruction | destruction | font-effect-destruction | Chrome, Safari |
Distressed | distressed | font-effect-distressed | Chrome, Safari |
Distressed Wood | distressed-wood | font-effect-distressed-wood | Chrome, Safari |
Emboss | emboss | font-effect-emboss | Chrome, Firefox, Opera, Safari |
Fire | fire | font-effect-fire | Chrome, Firefox, Opera, Safari |
Fire Animation | fire-animation | font-effect-fire-animation | Chrome, Firefox, Opera, Safari |
Fragile | fragile | font-effect-fragile | Chrome, Safari |
Grass | grass | font-effect-grass | Chrome, Safari |
Ice | ice | font-effect-ice | Chrome, Safari |
Mitosis | mitosis | font-effect-mitosis | Chrome, Safari |
Neon | neon | font-effect-neon | Chrome, Firefox, Opera, Safari |
Outline | outline | font-effect-outline | Chrome, Firefox, Opera, Safari |
Putting Green | putting-green | font-effect-putting-green | Chrome, Safari |
Scuffed Steel | scuffed-steel | font-effect-scuffed-steel | Chrome, Safari |
Shadow Multiple | shadow-multiple | font-effect-shadow-multiple | Chrome, Firefox, Opera, Safari |
Splintered | splintered | font-effect-splintered | Chrome, Safari |
Static | static | font-effect-static | Chrome, Safari |
Stonewash | stonewash | font-effect-stonewash | Chrome, Safari |
Three Dimensional | 3d | font-effect-3d | Chrome, Firefox, Opera, Safari |
Three Dimensional Float | 3d-float | font-effect-3d-float | Chrome, Firefox, Opera, Safari |
Vintage | vintage | font-effect-vintage | Chrome, Safari |
Wallpaper | wallpaper | font-effect-wallpaper | Chrome, Safari |
> 注意: 有些字体特效(比如: 3d)对字体大小支持并不是很好,越大的字体看起来效果越好。另外,你可能希望加入更多的特效,比如改变字体颜色来适应页面。
还有很多其它的办法来改变字体样式,很多利用CSS的办法。我们只是提供一些简单的想法来告诉你如何开始。想要更多的样式,请Goolge搜索“css text effects”来查看网络上的其它想法。
继续阅读
- 访问Google Fonts页面,查看Google Fonts API提供的全部字体列表
- 学习使用Web Font Loader来对导入字体进行更多控制。
- 访问Technical Considerations页面,学习更多关于Google Fonts API如何工作。