CSS带子级的父div

CSS带子级的父div,css,Css,我有一个上级部门,有三个部门。它们基本上是列。我需要删除最后一个的边距,但无法获得正确的选择器 HTML: 可以执行:first child或:last child以第一个和最后一个元素为目标 兼容性:您可以为规则使用:最后一个子项选择器 .productContainer div:last-child { // rule } 在这种情况下,您可以使用伪选择器 .productContainer > .productBox:last-child { margin-right:

我有一个上级部门,有三个部门。它们基本上是列。我需要删除最后一个的边距,但无法获得正确的选择器 HTML:


可以执行:first child或:last child以第一个和最后一个元素为目标


兼容性:

您可以为规则使用
:最后一个子项
选择器

.productContainer div:last-child
{
    // rule
}

在这种情况下,您可以使用伪选择器

.productContainer > .productBox:last-child {
  margin-right: 0;
}
注意:这在IE8及更早版本中不起作用,因为这是CSS3的一部分。为了更便携,你可能想试试这个

<div class="productBox last"></div>

.productContainer > .productBox.last {
  margin-right: 0;
}

.productContainer>.productBox.last{
右边距:0;
}

虽然您可以使用:last child选择器,但它在8之前的任何IE版本中都不起作用。通常,我在这种情况下要做的是向列表中的最后一个元素添加最后一个类:

<div class="productContainer">
<div class="productBox"></div>
<div class="productBox"></div>
<div class="productBox last"></div>

我很确定这是最后一个.productContainer,而不是其中的最后一个div。请参阅我的答案。虽然知道IE<9无法使用此-
:最后一个孩子。为什么.productContainer div:n个孩子(3)的工作方式不相同?由于IE的原因,我可能不得不在最后一个类中添加一个类。是的,我同意我仍然需要为IE 7编写代码,所以我必须这样做。太糟糕了。真有趣,你说的和我做的一样,只是在我五分钟后。但你的回答值得称赞:PI在这里发布了一个类似的问题:
.productContainer > .productBox:last-child {
  margin-right: 0;
}
<div class="productBox last"></div>

.productContainer > .productBox.last {
  margin-right: 0;
}
<div class="productContainer">
<div class="productBox"></div>
<div class="productBox"></div>
<div class="productBox last"></div>
.produtContainer .last {
margin-right: 0;
}