0

一連のdivが左にフロートされています。次に、これらのdivの下に異なる名前のdivがあり、これらも左にフロートされています。これらのnth-childdivは、他のフロートされた左側のdivの下に配置されているため、コードは機能しません。しかし、それらがそれらの上にあるとき、n番目の子は正常に機能します。私はもう試した:

#div:first-child and #div:nth-child(1)

繰り返しますが、これはdivが他のdivの上にある場合にのみ機能し、divが下にある場合には機能しません。

これは、n番目の子が機能する場合と機能しない場合を示す2つのjfiddleです。

表示されるのは、一連の白いdivと、次に2つの赤いdivです。私はn番目の子を使用して、2つの赤いdivの両方に100pxのマージン左を与えています。

n番目の子が機能しない場合(他のdivより下のdiv):

http://jsfiddle.net/hsQQn/

n番目の子が機能する場合(他のdivより上のdiv):

http://jsfiddle.net/hsQQn/1/

divが他のdivの下にあるときにn番目の子が機能するように、これを機能させたいと思います。この時点で、なぜそれが機能しないのかわかりません...どんな助けでも本当にありがたいです:)

4

1 に答える 1

0

を使用して機能していないフィドルでは、コンテナラッパー内の最後の2つです。したがって、それらはのどちらでもありません。それらはより可能性が高く、それらの親ラッパー要素です。<div>id<div>first-childnth-child(2)wrappernth-child(17)nth-child(18)

HTMLも無効です。すべてのIDは一意である必要があります。代わりにCSSクラスを使用する必要があります。

div.myclass {}

次のように複数回使用できます。

<div class="myclass"></div>

一方、ID:

#myid {}

これで1回使用できます:

<div id="myid"></div>

もちろん、次のようにIDを持つ要素の子を参照することもできます。

#myid > a {}

このため:

<div id="myid"><a></a></div>

idただし、 「myid 」を使用する要素は1つだけです。

于 2013-02-01T20:51:22.527 に答える