我想知道是否可以根据主体ID的值定义元素的样式。
这很难解释,但像这样的东西是理想的:
HTML:
<body id="home">
CSS:
body#home {
a { /* code here */ }
p { /* code here */ }
}
body#profile {
a { /* different code here */ }
p { /* different code here */ }
}
我知道我能做到:
body#home a { /* code here */ }
但这变得非常重复。
,我将期待您的回复
Peter
如果使用像SASS或LESS 这样的CSS框架,就可以做到这一点
以下是关于如何使用LESS进行此操作的文档。希望这能有所帮助。
ID应该是唯一的,因此#home { ... }
是可以接受的。
然后和子元素将是:
#home .myClass { ... }
如果经常使用此技术对页面进行重新蒙皮,则只需更改主体上的ID或类即可。
请注意,虽然使用CSS框架可以支持这样的嵌套样式,但应该仔细考虑在CSS中保持模块化和干净的继承。你最终可能弊大于利。特别是,要注意初始规则,如下所述:
http://thesassway.com/beginner/the-inception-rule
盗梦空间规则:深度不要超过四层
您对标记所做的任何更改都需要反映到Sass,反之亦然。这也意味着样式是有界的这些元素和HTML结构的生命违背了"级联样式表"中"级联"部分的目的
如果你遵循这条路,你还不如重新开始写CSS内联在HTML中(请不要)。
做您所说的事情的最好方法是在网站上有一个基本样式表。
他们有:
标头中的<style>
元素覆盖您选择的任何
或
为每个页面提供不同的样式表