我试图使用javascript更改body
的bcakground并观察到以下内容无效:
document.body.style.background = "#000;"
但是如果我省略分号那么它就可以了:
document.body.style.background = "#000"
为什么会这样? Isn&#t; t #000;
仍然是一个字符串?
答案 0 :(得分:6)
;
不是价值的一部分。这是一个样式分隔符。
selector {
styleName: styleValue;
/* Separator --------^----- */
}
来自the spec:
规则集(也称为“规则”)由选择器后跟声明块组成。
声明块以左大括号(
{
)开头,以匹配的右大括号(}
)结束。在两者之间必须有一个零个或多个以分号分隔(;
)声明的列表。
你的第二个例子(没有;
)是正确的。您的第一个示例无法设置样式,因为值#000;
无效,因此浏览器会忽略它。
答案 1 :(得分:-2)
因为当你将背景风格设置为#000时;它输出背景:#000 ;;这不是一个合适的CSS规则