CSS font-family 属性允许您通过给定一个有先后顺序的,由字体名称或者通用字体族名组成的列表来为选定的元素设置字体。
font-family
属性的值是用于指定某个元素的字体名称(font family names)或通用字体族名称(generic family names)的列表。字体的名称通过逗号来分隔,浏览器会从这个字体列表中选择一种计算机操作系统中已经安装的字体,或者在CSS中通过@font-face
来下载某种指定的字体来使用。
例如Bootstrap框架中定义<body>
的字体为:
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
浏览器会首先为body
应用“Helvetica Neue”字体,如果浏览器没有找到这个字体,就会使用“Helvetica”,以此类推。如果font-family
中所有的字体都无效,那么浏览器就会使用列表最后一个定义的通用字体族字体。
在上面的示例中,最后一个sans-serif
是一个通用字体族关键字,它代表一类字体,表示系统中的无衬线字体。它的作用是当前三种字体都不可用时,提供一个回退机制,因为任何计算机系统中肯定会安装了一些无衬线字体,它可以防止找不到字体的情况出现。
在使用font-family
时有两个名词需要理解:
- 字体名称(font family names)代表一个实际的字体名词,如“Helvetica Neue”,“Microsoft YaHei”,“宋体”等。字体名词可以使用双引号引起来,也可以不使用双引号。不使用双引号时,字体名词之间不允许有空格,前面不允许出现数字或标点符号。例如下面的字体定义是无效的:
font-family: Goudy Bookletter 1911, sans-serif;
font-family: Red/Black, sans-serif;
font-family: "Lucida" Grande, sans-serif;
font-family: Ahem!, sans-serif;
font-family: test@foo, sans-serif;
font-family: #POUND, sans-serif;
font-family: Hawaii 5-0, sans-serif;
通用字体族(generic family)代表一类字体,它用于字体的回退机制,告诉浏览器在字体列表中所有的字体都无效的情况下,使用系统中的某类字体作为当前的字体,防止找不到字体的情况出现。
通常会在字体列表的最后定义一个字体族。字体族的名称通常是一个关键字,常见的字体族有:serif、sans-serif、cursive、fantasy和monospace。
通用字体族的名称是关键字,不需要使用双引号来引用。如果你使用的某种字体和通用字体族的名称相同,必须使用双引号将该字体引起来,以便和通用字体族关键字区分开来。
官方语法
font-family: [ <family-name> | <generic-family> ] #
参数:
font-family
属性的初始值由浏览器决定。
应用范围
font-family
属性可以应用在所有元素上。
示例代码
下面是font-family
属性的一些取值示例代码:
font-family: "Arial";
font-family: "Open Sans", sans-serif;
font-family: "Microsoft YaHei", "宋体",Verdana, sans-serif;
font-family: "Helvetica Neue", fantasy;
浏览器支持
所有的浏览器都支持font-family
属性,包括:Chrome, Firefox, Safari, Opera, Internet Explorer 以及 Android 和 iOS。