2014-02-10 120 views
-1

嗨聪明的人的堆栈,我有这个完全不合理的问题:nth孩子。它不是“锁定”到特定的类我也试图附加它。css风格:类上的nth-child选择器包含其他元素

在我的第一张图片中,我不得不使滑雪前3个过度的元素,我想滑雪,即使我已经指定它适用于“.pageGrid”类。正如你可以看到第一个<hr>,然后<div>,然后另一个<hr>没有类。

enter image description here

我的第二个问题,使用相同的CSS在另一个地方,我不得不因为添加一个不可见的元素:第n个孩子又不是适用于只是我想它适用于元素。

enter image description here

我在想什么?我真的没有得到这个..

编辑:

继承人一些代码:

.wrapperProductList .prodListPage:nth-child(4n+1) { 
    margin-right: 0; 
} 

的 “+1” 是skipp第一要素..

.pageGrid:nth-child(3n+3) { 
    margin-right: 0!important; 
} 

这里的“+3”是skipp的第一个元素,甚至没有.pageGrid类:(

<div class="clearfix wrapperProductList pageGrid"> 
<h1>Compact/Stackable</h1> 
<a class="prodListPage" href=""> 
<a class="prodListPage" href=""> 
<a class="prodListPage" href=""> 
<a class="prodListPage" href=""> 

属于此标记

+3

请张贴一些代码,我无法阅读这些微小的图像。 – j08691

+1

对不起,我想web开发人员会知道如何右键点击和“显示图像”;)但生病后发布一些代码,挂在 – Cammy

+0

@cammy这是在堆栈上的常规做法,直接从“马口”说话,这样我们所有人都可以找到问题的根源,并尽可能快地帮助你。截图通常有点难以处理。 – rncrtr

回答

2

:nth-child()不“锁定”在类名或标签名,你觉得它的方式。它只关心元素is the nth child of its parent together with all of its other siblings,不管其他兄弟是不同的元素还是没有特定的类别等等。

如果你知道你总是想跳过第一个元素和前三个元素。这就是:nth-child()的工作原理。

+0

真的吗?我想我一直愚蠢的认为它是这样工作的,但是当我开始考虑它主要用在表格中时,那里你有相同的子元素 - > li's .. – Cammy

+0

@Cammy:A很多人遇到同样的问题,直到你知道它是如何工作的,这是可以理解的,并不直观 – BoltClock

+0

我明白了,谢谢你的输入!:)即使不是最优的,也可以通过添加包装来解决问题! – Cammy

相关问题