2

所以,这是一个困扰我很久的问题。这些天我一直在深入研究 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,所以我真的不必在意。如果有人能为我解开这个长久以来的谜团,我将不胜感激。

4

2 回答 2

2

你的语法很好,没有问题。

我想象两个问题之一:

  1. 该类实际上并没有被加载,无论是在主体上还是在您的mycustomclass元素上。检查呈现的源代码(即在浏览器中),而不仅仅是您自己的代码。由于它是 Drupal,它可能正在缓存,因此您的更改不会被加载。清除 Drupal 缓存

  2. 特异性。也许元素上有另一个类,或者可能有一个全局规则。无论哪种方式,都可能会覆盖该元素上的 CSS。

要解决这两个问题,请使用 Firebug 和 Firefox 中的 Web Developer Toolbar。两者对于做 CSS 都是必不可少的。

于 2013-02-06T07:43:38.217 回答
0

确保 Drupal 在<head>您的 HTML 中添加 css 脚本标签。您应该在样式表引用之后让它们跟随。就是这样,drupal css(将未登录类添加到 的那个<body>)必须在您的 css 之前执行。

于 2013-02-06T07:55:16.617 回答