什么时候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');
}
让元素使用此font-family的正确CSS是什么?
答案 0 :(得分:8)
当字体本身具有"Times New Roman"
。
Arial
不需要引号,但有些人使用"Arial"
之类的引号更加一致。这只是个人偏好。
见贾斯汀的评论:font-family: times new roman;
没有空格(jsFiddle)。
您可以按照通常的预期使用@font-face
来呼叫新的font-family: 'entypo';
。 (link)
答案 1 :(得分:1)
回答这个问题:
http://www.w3.org/TR/CSS2/fonts.html#font-family-prop
为避免转义错误,建议引用包含除连字符以外的空格,数字或标点字符的字体系列名称:
body {font-family:“New Century Schoolbook”,serif}
必须引用与关键字值('inherit','serif','sans-serif','monospace','fantasy'和'cursive')相同的字体系列名称,以防止与关键字混淆同名。
答案 2 :(得分:1)
通过CSS 2.1 spec,字体名称 需要如果它包含identifier characters以外的字符(这是一个比“Ascii字母更广泛的概念”)和数字“)和空格。所以font-family: foo bar
是正确的,例如font-family: entypo
当然。
编码风格是另一个问题。引用特定字体系列名称(与sans-serif
等通用名称相反)始终是正确的,因此font-family: "entypo"
也是正确的。
理论上,如果特定字体系列名称与通用名称一致(我认为没有人创建过这样的字体)或者其名称包含前导或尾随空格或连续空格,则还需要引用字体名称(但在他看来,没有人会以这种方式命名他的字体。)