最后一个孩子没有边距

问题描述:

我知道':last-child'伪选择器在CSS中,但我想要做的是从div中每个'最后一个'元素的最后一个孩子删除边距底部。最后一个孩子没有边距

例如:

<div id="box1" class="box"> <div class="input-group"></div> <div class="input-group"></div> <div class="input-group"></div> </div> <div id="box2" class="box"> <div class="input-group"></div> <div class="input-group"></div> <div class="input-group"></div> </div>

所以,我希望发生的,是每个.box,我想最后的.input-group有没有保证金?

现在很明显:last-child将从.input-group眼前,最后一个子去掉边距,但我希望它能够识别时,它的每一个.box的最后一个孩子,我不知道如果我在这里做的意义或不。

如果这是不可能的,那么还有其他什么方法呢?

干杯! 马克

.input-group:last-child应该没有任何改变。

.input-group:last-child{ 
    margin-bottom: 0px; 
} 

JS小提琴:http://jsfiddle.net/F7W8p/2/

如果你有box以外其它.input-group元素可以添加.box给选择:

.box .input-group:last-child{ 
    margin-bottom: 0px; 
} 

这里是示出运行中的选择器的示例:http://jsfiddle.net/F7W8p/3/

+0

嗯,你的例子工作,但相同的代码从来没有在我的网站上工作 –

+0

是重写风格的东西? –

+0

不是我所看到的,我是这样的: 'div.input-group { \t margin:17px 0; } div.input-group:first-child {margin-top:0; } div.input-group:last-child {margin-bottom:0; }' –

在你的css文档中试试这个 。

.box > .input-group:last-child {margin:0;} 
+0

'>'运算符在CSS中究竟做了什么? –

+0

它选择全部,使用这个而不必定义每个元素。因为箱子会重演。 >将选择所有框并处理该框的最后一个孩子。 –

+0

这意味着'.box'必须位于最上层的'.input-group'之前。因此,如果'.input-group'被封装在'ul'中,它就不会设计它。 –