0

CSS 固有性の概念を理解しています。これが私の状況です:

私は「成功」というクラスのスタイルを持っています。これにより、単に色が緑色になります...など。現在、.success を定義する 2 つの個別の css ファイルがあります (異なるスタイルを定義しています)。これらを Site.css と Page.css と呼びましょう。

Site.css のクラスは次のとおりです。

.success { color: green; }

Page.css のクラスはより具体的です。

#MainRegion div .resultPanel .success { background-color: green; }

javascript (jquery を使用) で、次のようなクラスを追加します。

$("#MainRegion div .resultPanel").addClass("success");

ここで、ブラウザー デバッガー (F12) を使用してこれを調べると、(Page.css ではなく) Site.css スタイルが適用されていることがわかります。Page.css で定義されたクラスの方が具体性が高いと思ったので、それを呼び出す必要があります。css の特異性がどのように機能するかについての理解が欠けていますか?

4

2 に答える 2

2

あなたは何かが欠けています。このコード行

$("#MainRegion div .resultPanel").addClass("success");

戻り値

#MainRegion div .resultPanel.success

<div class="resultPanel success"></div>

そしてそうではない

#MainRegion div .resultPanel .success

<div class="resultPanel">
    <div class="success"></div>
</div>

したがって、必要に応じて、cssまたはjsを変更して、正しい要素をターゲットにすることができます

あなたのCSSが

#MainRegion div .resultPanel.success { background-color: green; }

その後、jsは期待どおりに機能します

于 2013-08-15T19:36:19.663 に答える
0

正直なところ、スタイル シートの 1 つで成功するには、おそらく別のクラスを作成する必要があります。私が正しく理解していれば、緑色のフォント色の緑色の BG が表示されます。両方の呼び出しに対して異なるものを定義しているだけなので、両方のスタイル シートが連携して動作するはずですが、それはベスト プラクティスではありません。

于 2013-08-15T20:03:27.180 に答える