我正在尝试去除这个:
document.body.className = "someclass";
我想用CSS来实现这个效果。
body.someclass {
.
.
.
}
不幸的是,我无法在Firefox和Chrome中使其工作。
我做错了什么?有没有办法将CSS类应用于body?
我正在尝试去除这个:
document.body.className = "someclass";
我想用CSS来实现这个效果。
body.someclass {
.
.
.
}
不幸的是,我无法在Firefox和Chrome中使其工作。
我做错了什么?有没有办法将CSS类应用于body?
你正在做两件不同的事情。你的JavaScript实际上是将类名“someclass”分配给body元素,而你的CSS则是使用类名“someclass”样式化一个body元素,它不会将类名分配给它,这不是CSS的任务。在纯(X)HTML中,你可以像这样做:
<body class="someclass">
问题的一部分是有效的XHTML每个文档只能有一个<body>
元素。类通常被赋予出现多次的元素(或者说,要应用多次的样式)。
由于只有一个body,因此我从未给它添加ID或类。只是样式:
body {
background-color: red;
}
如果您想重用一个类,请在选择器中使用逗号:.coolStyle, body {
font-weight: bold;
color: red;
text-decoration: blink;
}
然而,所有这些可能都是毫无意义的,因为应用于<body>
标签的任何样式都会被其子元素继承,除非明确指定不同的样式。
在文档中只有一个body,因此不需要对body进行类的设置。除非您想通过更改JavaScript类来更改body的样式。
如果必须对body进行类的设置,请按照以下方式进行:
<body class="someclass">
然后访问该类并在您的CSS中修改样式,如下所示:
body.someclass{
...(style parameters goes here)
}
然而,您可以更改标签的所有元素的样式,由于您只有一个body,因此您可以将其添加到CSS中:
body{
...(style parameters)
}
不要在HTML中添加任何内容。但是对于重复的标签,请使用class进行样式设置,这些样式将在页面上多次使用;对于只在页面上使用一次的样式,请使用id进行样式设置。您可以在HTML中像这样为标签分配id:
<tag id="someid">