17

私の例はHTMLファイル内にあります。つまり、変更するアクセス権がなく、スタイルシートを介したCSSのみです。クラスと同じように、ID 内の ID をターゲットにできますか?

#id1 #id2 {styles...}

CSSで行う方法と同様:

.class1 .class2 {styles...}

ここで脳に大きな障害が発生している可能性があります。

4

7 に答える 7

23

ええ、このように:

#one #two {
    color: purple;
}

以下を選択します。

<div id="one">
    <div id="two"></div>
</div>

ただし、これは実際には必要ありません。ページごとに同じ名前の ID を 1 つだけ持つことが想定されているため、セレクター#two {}自体は問題ありません。

于 2013-08-08T18:41:09.613 に答える
8

はい、できます。それは完全に有効です。しかし、ID がページ内で一意である必要があることを考えると、これも一般的には無意味です。そのため、必要な要素を正確に選択するには、常に 1 つの ID を選択するだけで十分なはずです。別の ID やクラスなど、それを修飾するために親セレクターを追加する必要はありません。

何らかの理由で別の場所に表示される可能性があるページのどこに表示されるかで動的な ID を持つ要素があり、その要素がどこにあるかによって異なるように見せたいというユースケースを 1 つ見ることができます。ページが表示されます。

#id1 #id2そのためには、セレクターを持つことが有効かもしれません。しかし、これはおそらくかなりまれな使用例であり、この使用法であっても、クラスはその仕事にとってより適切なツールである可能性があります。

于 2013-08-08T18:44:23.793 に答える
3

はい

#id1 #id2 {

}

これは、#id2内のすべてを対象とします#id1

デモ: http://jsfiddle.net/DcDqa/

于 2013-08-08T18:43:08.293 に答える
1

はい。任意のセレクターの間にコンビネーターを配置できます。

于 2013-08-08T18:42:11.193 に答える
1

はい、できます

#id1 #id2 {
    height:200;
}

また、同様に

  .class1 #id1 {
    height:200;
  }

  .class1 input[type="radio"] {
    border: 1px solid #ccc;
  }

  h1, p{
  }
于 2013-08-08T18:44:01.630 に答える
0

はい

#first #second{
 color: #000080;
}

<div id="first">
  <p id="second">This is text and will be dark blue</p>
</div>
于 2013-08-08T18:43:03.187 に答える