除非还设置了字体大小,否则通过style.font设置font-family不起作用

时间:2013-04-26 05:43:03

标签: javascript css fonts

我想通过一些JavaScript设置一些文本的字体。出于某种原因,我似乎也只能在设置font-size时这样做。所以这有效:

el.style.font = "10px arial, serif"

但这不是

el.style.font = "arial, serif"

jsfiddle example

我知道还有其他方法来设置字体,但由于其他原因,这种方法很方便 - 为什么它不起作用?

我已经检查了Firefox和Chrome,所以我认为这是我不理解的,而不是错误。

2 个答案:

答案 0 :(得分:5)

因为根据W3C的the definitionfont-size必须包含font-family

[
    [ <‘font-style’> || <font-variant-css21> || <‘font-weight’> || <‘font-stretch’> ]?
    <'font-size'>
    [ / <'line-height'> ]?
    <'font-family'>
]             | 
caption       |
icon          |
menu          |
message-box   |
small-caption |
status-bar

编辑:已更新为CSS3定义。

答案 1 :(得分:1)

你误以为font font-family(在JS中说fontFamily)。