2

ですから、これは長い間私を悩ませてきた質問です。私は最近CSSをもっと深く掘り下げています。Drupalにあるため、このプロジェクトではjQueryを使用しないようにしています。また、カスタムコードを使用しないようにしています。

したがって、ユーザーがログインしていないときにシステムが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

あなたの構文は問題ありません。問題はありません。

私は2つの問題のうちの1つを想像します:

  1. クラスは実際には本体にもmycustomclass要素にもロードされていません。独自のコードだけでなく、レンダリングされたソース (つまり、ブラウザー) で両方を確認してください。Drupalなので、キャッシュされている可能性があるため、変更がロードされていません。Drupal キャッシュをクリアします。

  2. 特異性。要素に別のクラスがあるか、グローバル ルールがある可能性があります。いずれにせよ、何かがその要素の CSS をオーバーライドしている可能性があります。

両方を解決するには、Firebug と Firefox の Web 開発者ツールバーを使用します。どちらも CSS を行う上で不可欠です。

于 2013-02-06T07:43:38.217 に答える
0

Drupal が<head>HTML に css スクリプト タグを追加していることを確認してください。スタイルシート参照の後にそれらに従う必要があります。それだけです。drupal css (非ログイン クラスを に追加するもの<body>) は、css の前に実行する必要があります。

于 2013-02-06T07:55:16.617 に答える