Html 字体族的含义是什么?
我是HTML和CSS的初学者。我对Html 字体族的含义是什么?,html,css,fonts,Html,Css,Fonts,我是HTML和CSS的初学者。我对字体系列属性感到困惑 我声明字体系列如下: { font-family:cambria, sans-serif, georgia; } 但是当我删除sans serif,georgia部分时,视觉外观保持不变 为什么要声明字体系列,以及它与字体有何不同 { font-family:cambria, sans-serif, georgia; } 意思是: 如果您的浏览器不支持cambria使用sans serif如果不支持sans serif使用geo
字体系列
属性感到困惑
我声明字体系列如下:
{
font-family:cambria, sans-serif, georgia;
}
但是当我删除sans serif,georgia
部分时,视觉外观保持不变
为什么要声明字体系列
,以及它与字体
有何不同
{
font-family:cambria, sans-serif, georgia;
}
意思是:
如果您的浏览器不支持cambria
使用sans serif
如果不支持sans serif
使用georgia
如果不支持georgia
它将显示默认字体
Font: 12px bold cambria, sans-serif;
意思是:字体大小/字体重量/字体系列
字体
声明是一种速记,允许我们设计字体大小
,字体重量
,字体系列
,字体变体
和行高
。一应俱全。(就像background
是background color
、background url
、background image
和其他一些与背景相关的属性的缩写。)
字体系列
本身允许我们指定初始字体,以及在无法使用初始字体时使用的通用字体。在您的情况下,cambria
是初始字体,sans serif
是在用户系统没有cambria
字体时使用的回退字体样式,如果用户系统上没有sans serif
字体,则使用georgia
。您可以按所需顺序列出字体。页面将尝试加载cambria,但如果用户没有cambria,它将尝试任何无衬线字体,最后将尝试georgia
想象一下,如果您使用的是一种所有用户可能都没有的非常特定的字体,那么您希望提供一个备份,以便在用户没有第一个所需字体时,系统默认字体不会出现。这是一个按优先级排列的列表;尝试使用第一种字体,如果不可用,则尝试第二种字体,依此类推
Font: 12px bold cambria, sans-serif;
font{}
包含font-family
,因为这是一种在一次过程中设置多个font-*
值的方法,请参见。使用font-family时,您要特别声明要使用的字体类型。另一方面,仅使用“font”属性,就可以声明各种字体样式属性
Font-Family: cambria, sans-serif, georgia;
这样做会告诉浏览器您更喜欢使用“cambria”字体,如果此浏览器中不存在该字体,则您希望使用“sans serif”,以此类推
Font: 12px bold cambria, sans-serif;
这允许您在一个位置放置多个值。字体系列是一个列表,如果您指定的第一种字体无法显示,将加载第二种字体,如果第二种字体无法加载,将显示第三种字体 字体族是一个CSS属性,它接受指定元素字体的字体族名称的优先列表。如果列表中显示的第一种字体在浏览器上不可用,则可以使用逗号分隔的值来表示它们是可选字体
{
font-family: cambria, sans-serif, georgia;
}
这意味着,如果浏览器上没有字体“cambria”,它将选择“sans serif”等等。该属性按优先顺序指定要尝试的字体系列列表。它不影响其他与字体相关的属性,但选择会影响行高
(取决于字体和浏览器)的正常
的含义
相反,使用font
速记属性总是设置所有与字体相关的属性,尽管只需要明确指定字体大小和字体系列,例如font:1em Cambria
;然后将其他属性设置为其初始值
使用字体系列
的值,以便对于元素内容中的每个字符,使用列表中的第一个字体系列,前提是a)该字体系列在用户系统中可用,b)该系列中的适用字体包含该字符的字形。(这是已定义的机制,但已知浏览器部分错误地实现了它。)
在本例中,如果用户的系统具有Cambria,并且它包含相关元素中所有字符的字形,font系列
值中的其他值无效。如果Cambria中没有字符,但浏览器使用的字体中有字符作为通用无衬线
字体,则使用后者可能会造成风格不匹配。(通常,像Cambria这样的衬线字体应该有衬线回退。)georgia
部分只在系统有georgia但没有Cambria,浏览器默认的sans-serif
字体在内容中不包含某些字符,但georgia包含的情况下才起作用
是否使用
font-family
(和其他特定的字体属性)或font
速记,或两者兼用,取决于判断和品味。从概念上讲,单独设置所有字体属性要简单得多。就代码长度而言,font
可以帮你省去一些麻烦。是几十个font-*
属性的简写,包括行高
:-)其中之一是font系列
。感谢@Bram Vanroy的有用编辑:)学究之道,字体解析不是在浏览器是否具有字体基础上进行的,而是在每个字符上进行的,即在浏览器是否具有字体基础(如果可用)上进行的。因此,例如,如果字符未在cambria字体中定义,则该字符可以来自sans serif字体,即使浏览器有cambria字体可用。不是任何sans serif字体,而是浏览器特定的sans serif字体,之后就不需要尝试了,因为通用的sans serif字体始终存在。始终是一个详细的答案。