【问题标题】:When should CSS font-family value use quotes? [duplicate]CSS font-family 值什么时候应该使用引号? [复制]
【发布时间】:2013-03-05 16:17:04
【问题描述】:

CSS 'font-family' 的值什么时候应该用引号括起来?

font-family: arialfont-family: "arial" 我都见过。

作为一个具体的例子,我这​​样声明一个字体:

@font-face {
    font-family: 'entypo';
    font-style: normal;
    font-weight: 400;
    src: url('/css/fonts/entypo.woff') format('woff');
}

让一个元素使用这个字体系列的正确 CSS 是什么?

【问题讨论】:

  • 所以,基本上你的问题是,“这是在哪个 CSS 标准中指定的?”.
  • 我读过一篇文章,解释说即使像 Times new Roman 这样的带空格的非引用值也可以工作 - 但不幸的是我手头没有网址。知道它的内部结构非常复杂,并且与字体系列的实际名称有关......
  • @GeorgeKatsanos:呃,好像是pretty easy to verify, even without an article.

标签: css fonts font-face


【解决方案1】:

只有当字体本身有空格时才需要引号,例如"Times New Roman"

Arial不需要引号,但是有些人使用"Arial"等引号来更加一致。这只是个人喜好。

在 Justin 的以下评论中可见:font-family: times new roman; 不带引号 (JSFiddle)。

您可以像通常期望的那样使用font-family: 'entypo'; 调用新的@font-face。 (link)

【讨论】:

【解决方案2】:

只是从这里回答:

http://www.w3.org/TR/CSS2/fonts.html#font-family-prop

为避免转义错误,建议引用包含空格、数字或连字符以外的标点符号的字体系列名称:

body { font-family: "新世纪教科书", serif }

必须引用恰好与关键字值相同的字体系列名称(“inherit”、“serif”、“sans-serif”、“monospace”、“fantasy”和“cursive”),以防止与关键字混淆同名。

【讨论】:

    【解决方案3】:

    根据 CSS 2.1 spec,如果字体名称包含 identifier characters 以外的字符(这是一个比“Ascii 字母和数字”更广泛的概念),则字体名称​​需要放在引号中和空格。所以font-family: foo bar 是正确的,例如font-family: entypo 当然。

    编码风格是一个不同的问题。引用特定字体系列名称始终是正确的(与 sans-serif 等通用名称相反),因此 font-family: "entypo" 也是正确的。

    从理论上讲,如果特定字体系列名称与通用名称一致(我认为没有人创建过这样的字体),或者如果它的名称包含前导或尾随空格或连续空格,则还需要引用字体名称(但在他看来,没有人会这样命名他的字体)。

    【讨论】:

    • 如果foo bar 是字体的名称,font-family: foo bar正确的。它应该用引号引起来。作为旁注,我已经看到“Serif”和“Monospace”都用作字体系列名称。
    • @bfrohs,请查阅引用的规范。你也可以使用jigsaw.w3.org/css-validator 并且你可以使用引用的"Serif" 作为字体名称,它在语法上是有效的;但这没有任何意义,因为没有这样的字体系列。
    • 引用的规范明确表示“引用包含空格的字体系列名称”。因此,您的示例 (font-family: foo bar) 应该是 font-family: "foo bar"。我知道你可以使用"Serif"引用--我指出我之前已经看到过同时命名为SerifMonospace的字体。
    • @bfrohs,再次检查规范:有要求,有建议; “应该”和“应该”是有区别的。我不认为你见过名为 Serif 和 Monospace 的 fonts;只是(不正确)font-family 在引号中带有此类名称的值。
    • 我实际上是在查看我的系统字体 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 2019-12-26
    • 2014-05-19
    • 2010-12-21
    • 2011-06-16
    相关资源
    最近更新 更多