CSS

通用字型 | font-family

font-family

font-family属性为所选元素指定一个或多个字体族名和/或通用族名的优先列表。

/* A font family name and a generic family name */ font-family: Gill Sans Extrabold, sans-serif; font-family: "Goudy Bookletter 1911", sans-serif; /* A generic family name only */ font-family: serif; font-family: sans-serif; font-family: monospace; font-family: cursive; font-family: fantasy; font-family: system-ui; /* Global values */ font-family: inherit; font-family: initial; font-family: unset;

网页作者应当至少在font-family列表中添加一个通用的字体族名,因为无法保证用户的计算机内已经安装了指定的字体,也不能保证使用@font-face提供的字体能够正确地下载。提供通用的字体族使得浏览器可以在无法得到最佳字体的情况下使用一个相对接近的备选字体。

通常会使用属性缩写font来设置font-size和其他与字体相关的属性。

注意:因为不能保证任何给定的字体可用,所以您应该始终在字体族列表中至少包含一个通用族名称。这可以让浏览器在必要时选择可接受的后备字体。

注意:font-family属性指定的是一个优先级从高到低的可选字体列表。 字体的选定不是在发现用户计算机上安装的列表中的第一个字体时停止。相反,对字体的选择是逐字进行的。也就是说即使某个字符周围都在某个字体中可以显示,但该字符在当前的字体文件中没有适合的图形,那么会继续尝试列表中靠后的字体。不过这在Internet Explorer 6以及之前的版本中不适用。

默认值取决于用户
应用于all elements. It also applies to ::first-letter and ::first-line.
是否继承yes
媒体visual
计算值as specified
Animation typediscrete
规范顺序the unique non-ambiguous order defined by the formal grammar

语法

该font-family属性列出一个或多个字体系列,用逗号分隔。每个字体系列被指定为 <family-name>或<generic-name>

下面的例子列出了两个字体系列,第一个是 <family-name>,第二个是a<generic-name>:

font-family: Gill Sans Extrabold, sans-serif;

取值

<family-name>一个字体族的名字。例如,“Times”和“Helvetica”是字体系列。包含空格的字体家族名称应该被引用。

通用字体族名是一种备选机制,用于在指定的字体不可用时给出较好的字体。通用字体族名都是关键字,所以不可以加引号。 在列表的末尾应该至少有一个通用字体族名。 以下是该属性可能的取值以及他们的定义。

serif带衬线字体,笔画结尾有特殊的装饰线或衬线。

例如:Lucida Bright,Lucida Fax,Palatino,"Palatino Linotype",Palladio,"URW Palladio",serif.

例如,"Open Sans","Fira Sans","Lucida Sans","Lucida Sans Unicode","Trebuchet MS","Liberation Sans","Nimbus Sans L",sans-serif.

例如,"Fira Mono","DejaVu Sans Mono",Menlo,Consolas,"Liberation Mono",Monaco,"Lucida Console",monospace.

例如,"Brush Script MT","Brush Script Std","Lucida Calligraphy","Lucida Handwriting","Apple Chancery",cursive.

E.g.Papyrus,Herculanum,Party LET,Curlz MT,Harrington,fantasy.

有效的字体族名

字体族名或者是引号包括的字符串,或者是不含引号的一个或多个合法标识串构成的。这意味着在没有带引号的字体族名的开头是不能使用标点符号字符和数字字符的。

例如,下列声明是有效的:

font-family: Gill Sans Extrabold, sans-serif; font-family: "Goudy Bookletter 1911", sans-serif;

以下声明为无效*

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;

形式语法

[ <family-name> | <generic-family> ]#where <family-name> = <string> | <custom-ident>+ <generic-family> = serif | sans-serif | cursive | fantasy | monospace

实例

一些常见的字体族

.serif { font-family: Times, Times New Roman, Georgia, serif; } .sansserif { font-family: Verdana, Arial, Helvetica, sans-serif; } .monospace { font-family: Lucida Console, Courier, monospace; } .cursive { font-family: cursive; } .fantasy { font-family: fantasy; }

规范

SpecificationStatusComment
CSS Fonts Module Level 4The definition of 'extended generics' in that specification.Editor's DraftAdds new generic font families, specifically: system-ui, emoji, math, and fangsong.
CSS Fonts Module Level 3The definition of 'font-family' in that specification.Candidate RecommendationNo significant change
CSS Level 2 (Revision 1)The definition of 'font-family' in that specification.RecommendationNo significant change
CSS Level 1The definition of 'font-familiy' in that specification.RecommendationInitial definition

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support1(Yes)1.0 (1.7 or earlier)3.03.51.0
system-ui56No supportNo support 1No support43? 2

FeatureAndroid WebviewChrome for AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Basic support11(Yes)1.0 (1)6.061.0
system-ui5656No support?No support43? 2