css 为什么字体名称需要引号?

irtuqstp  于 2023-01-10  发布在  其他
关注(0)|答案(5)|浏览(177)

据我所知,如果字体包含空格,则需要使用双引号或单引号,例如:

font-family: "Times New Roman", Times; 
font-family: 'Times New Roman', Times;

但是在Google字体(http://www.google.com/webfont)上,我也看到

font-family: 'Margarine', cursive;

有些人甚至这样使用它:

font-family: 'Margarine', 'Helvetica', arial;

我觉得这很奇怪,因为下面的代码也是有效的:

font-family: Arial, Helvetica, sans-serif;
font-family: Cambria, serif;

那么在CSS中字体名称周围的引号的正确用法是什么呢?

gjmwrych

gjmwrych1#

我自己也刚刚认识到,引用并不是必须的,而是值得推荐的。我们每天都在学习新的东西。
另一个地方是需要url的css属性

background:url('hithere.jpg');
background:url(hithere.jpg);

这两种说法的效果是完全一样的。字体也是一样的,你用哪种类型的引语在这种情况下是无关紧要的,只要你做事的方式保持一致,这才是真正重要的。

olqngx59

olqngx592#

原因有二:
1.当实际的字体系列名称与通用系列名称共享相同的名称时,为了避免与具有相同名称的关键字混淆,例如
第一个月
1.当一个字体系列名称中有多个单词时,例如
p {font-family: 'Times New Roman', ..... , a generic family name here ;}

xmjla07d

xmjla07d3#

当字体名称中有空格时,您必须使用引号。如果字体名称中没有空格,最好将它们去掉,尽管保留它们除了会增加文件大小外不会有任何影响。
示例:

font-family: "Times New Roman", Times; // ok, and best practice
font-family: Times New Roman, Times; // incorrect, Browser won't be able to find Times New Roman
font-family: "Times New Roman", "Times"; // ok, but has extraneous quotes around Times
w6lpcovy

w6lpcovy4#

您始终可以将特定字体系列名称置于双引号或单引号中,因此Arial"Arial"'Arial'是等效的。只有CSS定义的通用字体系列名称(如sans-serif)必须不带引号。
与普遍的看法相反,由空格分隔的名称组成的字体名称(如Times New Roman)不需要用引号括起来。但是,规范 * 建议 *“引用包含白色、数字或连字符以外的标点符号的字体系列名称”

brgchamk

brgchamk5#

何时引用font-family:

可选

font-family: Times New Roman;         /* These are equivalent */
font-family: 'Times New Roman';
font-family: "Times New Roman";

font-family: Unique Ode™ 😊 Épopée;   /* These are equivalent */
font-family: "Unique Ode™ 😊 Épopée";

font-family: "Answer #42"             /* These are equivalent */
font-family: "Answer \23 42";
font-family: Answer \23 42;

只要字体名称仅包含:

那么引号是可选的。单引号或双引号。忽略大小写。有一些奇怪的边缘大小写:未加引号的单词不能以数字、连字符或连字符开头。

必须

font-family: "Intro Rust 2"           /* Unquoted words must not start with numbers. */
font-family: "Serif";                 /* For your own Serif, not the generic serif. */
font-family: "Yin/Yang";              /* Quote or code most ASCII punctuation. */

应该

font-family: "Initial Seals JNL"      /* `initial` and `default` are reserved words. */
font-family: "Omar Serif"             /* Generic names might also be reserved words? */

不得

font-family: monospace;               /* Generic fonts must NOT be quoted. */
font-family: serif;
font-family: sans-serif;
font-family: cursive;
font-family: fantasy;

感谢:

相关问题