9

CSS 'font-family' 的值什么时候应该有引号?

font-family: arial和都见过font-family: "arial"

作为一个具体的例子,我以这种方式声明一个字体:

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

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

4

3 回答 3

8

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

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

在贾斯汀的以下评论中看到:font-family: times new roman;不带引号的作品(JSFiddle)。

您可以按照通常的预期调用 new @font-faceusing 。font-family: 'entypo';链接

于 2013-03-05T16:18:42.210 回答
1

只想从这里回答:

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

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

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

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

于 2013-03-05T16:21:00.717 回答
1

根据 CSS 2.1规范,如果字体名称包含标识符字符以外的字符(这是一个比“Ascii 字母和数字”更广泛的概念)和空格,则字体名称需要用引号引起来。如此是正确的,例如当然也是如此。font-family: foo barfont-family: entypo

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

从理论上讲,如果特定字体系列名称与通用名称一致(我认为没有人创建过这样的字体)或者如果它的名称包含前导或尾随空格或连续空格(但没有在他的意义上,一个人会以这种方式命名他的字体)。

于 2013-03-05T17:06:43.050 回答