当div在其他div之下时,nth-child不工作

时间:2013-02-01 20:45:52

标签: html css css-selectors

我有一系列div向左浮动,然后我在这些div下面有不同名称的div,它们也向左浮动。 nth-child代码不起作用,这些div放在其他浮动的左div下面。但当他们在他们之上时,nth-child工作得很好。我试过了:

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

同样,这仅在div高于其他div时有效,而当div低于div时无效。

以下是两个jfiddles,展示了nth-child的工作时间,以及当它没有工作时......

你会看到一系列白色div,然后是两个红色div。我正在使用nth-child给两个红色div一个左边的100px。

当第n个孩子不能工作时(div 低于其他div):

http://jsfiddle.net/hsQQn/

当nth-child工作时(div 高于其他div):

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

我想让这个工作,所以当div在其他div之下时,nth-child工作。在这一点上,我不知道它为什么不起作用......任何帮助都会得到真正的赞赏:)

1 个答案:

答案 0 :(得分:0)

的小提琴中,使用<div>的{​​{1}}是容器包装器中的最后两个id。因此,他们既不是<div>也不是first-child nth-child(2)。他们更有可能是父包装元素的wrappernth-child(17)

您的HTML也无效。每个id都应该是唯一的。您应该使用CSS类:

nth-child(18)

可以多次使用,如下所示:

div.myclass {}
另一方面,

Ids:

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

可以使用一次:

#myid {}

当然,您可以使用ID来引用元素的子元素,例如:

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

为此:

#myid > a {}

但仍然只有一个元素使用<div id="myid"><a></a></div> myid ”。