0

#div2 が #div1 内に含まれている場合、css スタイルシートでそれを参照することに実際の利点はありますか? このような:

#div1 {
  display:block; 
}

#div1 #div2 {
 background-color:#e0e0e0;
}

その後も同様に。テーブルIDがあり、それがテーブルヘッダーです

#myTable {
    width:100%;
}
#myTable #productName{
   width:75%;
}
4

3 に答える 3

2

唯一の利点は、より具体的にできることです。たとえば、ある要素が別の要素内に配置されている場合にのみ、その要素に適用されるルールを作成できます。しかし、ほとんどの場合、その理由はなく、css のパフォーマンスが低下する可能性があります (さらに、親 ID を変更したい場合に備えて、コードの重複が作成されます)。

あなたの場合、セレクターはIDであり、各IDを持つ要素は1つしかないため、ネストされたセレクターの利点はさらに少なく、おそらくそれらは必要ありません。

より深い説明については、この記事をお読みください。

于 2013-09-08T16:24:06.423 に答える
1

要素 ID は DOM 内で一意であるため、選択されたコンテキストは、指定された例では明確であり、何の利点もありません。

ただし、クラスのネストされたセレクターを操作している場合は非常に便利です。

于 2013-09-08T16:23:13.187 に答える
1

一般に、id セレクターをネストすることは役に立ちませんが、微妙な違いがあります。以下では、ネストされたルールの特異性が高くなり、背景が赤になります。

HTML

<div id="outer">
    <div id="inner">foo</div>
</div>

CSS

#outer #inner {
    background-color: red;
}

#inner {
    background-color: blue;
}

特異性のルールは、css 仕様で概説されています。

そうは言っても、通常はクラスを使用しますが、これはコンテナーに基づいて要素のスタイルを変更するのに役立ちます (何らかの奇妙な理由でクラスを使用できない/使用しない場合)。

于 2013-09-08T16:30:47.857 に答える