所以,这是一个长期困扰我的问题。这些天我一直在深入研究CSS。我正试图远离jQuery这个项目,因为它在Drupal中,我试图远离自定义代码。
所以,当用户没有登录时,我们有一个系统应用于BODY的类,称为“未登录”。现在这个应该对我们有用(因为我理解CSS ),因为我们只允许管理员“登录”。当我们有人编辑节点时,我们会发生冲突 - 所有自定义类都在两种情况下加载,而且一些编辑控件看起来很时髦。
所以BODY风格是这样的:
<body class="html not-front not-logged-in no-sidebars page-node page-node- page-node-1 node-type-page footer-columns" >
... [much body content here--other divs, other classes, elements with IDs] ...
<div class='mycustomclass'>Should be bigger if logged in</div>
</body>
所以,当我尝试添加CSS选择器和样式时,如下所示:
.not-logged-in .mycustomclass {
font-size: 20px;
}
似乎忽略了.mycustomclass。我之前遇到过这种情况,并把它归结为我可怜的CSS-fu。并且总是有jQuery,所以我真的不必关心。如果有人能为我清除这个长期的谜团,我真的很感激。
答案 0 :(得分:2)
你的语法很好,没有问题。
我想象两个问题之一:
实际上并没有在正文或mycustomclass
元素上加载类。检查呈现的源(即在浏览器中),而不仅仅是您自己的代码。因为它是Drupal,它可能是缓存所以你的更改没有被加载。 清除Drupal缓存。
特异性。也许元素上还有另一个类,或者可能有一个全局规则。无论哪种方式,都可能会覆盖该元素上的CSS。
要解决这两个问题,请在Firefox中使用Firebug和Web Developer Toolbar。两者都是做CSS的必要条件。
答案 1 :(得分:0)
确保Drupal在HTML的<head>
中添加css脚本标记。您应该在样式表引用后跟随它们。就是这样,drupal css(将未登录的类添加到<body>
中)必须在你的css之前执行。