2

これは、ブラウザが競合に適用するルールを決定する方法について本が提供する 5 つのルールのルール 2 です。

ID セレクターは、[インライン スタイル属性に次いで] 2 番目に具体的です。ルールに複数の ID がある場合、ID セレクターの数が最も多いルールが優先されます。

ルール 2 が何について話しているのか本当に理解できません。「ルールに複数の id がある場合」(単数形) と書かれています。ルールが 1 つしかない場合、競合や比較はどのように行われますか (「最大のルールが… 勝つ」)? 1 つのルールで異なる数の ID セレクターを使用するにはどうすればよいですか? また、ルールが 1 つしかない場合、競合はどこにあるのでしょうか?

誰かがこのルールを徹底的に説明できますか? Webデザインの基本を理解しようとしているので、助けてくれてありがとう

4

2 に答える 2

5

セレクターは、任意の数の ID セレクターを持つことができます。

たとえば、 IDを持つ要素の子孫である場合#id1 #id2、 ID を持つ要素を選択します。これには 2 つの ID セレクターがあるため、他の条件なしで ID を持つ要素である限り、任意の要素を選択する、たとえば よりも具体的になります。id2id1#id2id2

したがって、これら 2 つのルールの間 (インライン スタイルがないことを前提としています):

#id1 #id2 { color: red; }
#id2 { color: blue; }

最初のルールが優先され、その要素のテキストは青ではなく赤で表示されます。これは、最初のルールの方が ID セレクターが多いためです。

于 2011-06-20T00:29:13.250 に答える
2

例を次に示します。より多くの ID を持つセレクターが優先されます。

<div id="parent">
   <div id="child">
      Some text here
   </div>
</div>

今、CSSを適用すると

#parent #child {
   background-color: red;
}

#parent div {
    background-color: yellow;
}

セレクター#parent #childが優先されます。2番目のものよりも具体的だからです。この場合、div の背景は赤になります。

于 2011-06-20T00:31:41.293 に答える