Man*_*har 11 html javascript css xhtml css3
我试图摆脱这个:
document.body.className = "someclass";
Run Code Online (Sandbox Code Playgroud)
我想在CSS中这样做.
body.someclass {
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法在Firefox,chrome中使用它.
我在这里做错了吗?我们有什么办法可以将CSS类应用到body中吗?
Dom*_*nef 15
你在做两件事.您的JavaScript实际上是将"someclass"类分配给您的body元素,而您的CSS使用类"someclass"为body元素设置样式,它不会将类分配给它,这不是CSS的任务.你可以用普通(X)HTML这样做:
<body class="someclass">
Run Code Online (Sandbox Code Playgroud)
部分问题是有效的XHTML <body>每个文档只能有一个元素.类通常归因于多次出现的元素(或者更确切地说,是要多次应用的样式).
由于只有一个身体,我从未添加过身份证或课程.风格:
body {
background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
如果您有要重用的类,请在选择器中使用逗号:
.coolStyle, body {
font-weight: bold;
color: red;
text-decoration: blink;
}
Run Code Online (Sandbox Code Playgroud)
但是,所有这些都可能毫无意义,因为应用于<body>标记的任何内容都将由其子项继承,除非另有明确的样式.
由于文档中只有一个主体,因此不需要主体类。除非您出于某种原因想通过更改 JavaScript 类来更改正文的样式。
如果你必须在 body 上放置一个类,请像这样:
<body class="someclass">
Run Code Online (Sandbox Code Playgroud)
然后访问该类并修改 css 中的样式,如下所示:
body.someclass{
...(style parameters goes here)
}
Run Code Online (Sandbox Code Playgroud)
但是,您可以更改标记的所有元素的样式,并且由于您只有一个主体,因此您可以简单地将其添加到 css 中:
body{
...(style parameters)
}
Run Code Online (Sandbox Code Playgroud)
并且不要在 html 中添加任何内容。然而,对于重复出现的标签,请使用 class 作为将使用多次的样式,并使用 id 作为仅在页面上使用一次的样式。您可以在 html 中为标签分配一个 id,如下所示:
<tag id="someid">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35289 次 |
| 最近记录: |