管理保证金,以便最后一个元素没有保证金

时间:2016-03-30 23:45:08

标签: css margin

我使用盒子,我想总是给最后一个元素一个“margin-bottom:0”。所以首先我给每个元素一个“margin-bottom:1em;”。我现在想从我框中的最后一个元素中删除这个边距底部,但如果其中有一个元素不起作用,我底部仍然有一个边距。知道如何做到这一点?它可能是一个段落或DIV或SPAN或其他什么,所以我并不总是想要手工完成。我想和他人混在一起。

我试过了:

section *+:last-child {
   margin-bottom: 0;
   border: 3px solid blue;
}

但是在最后一个div中有一个带有边距的段落,所以它不起作用。

这是一支笔:Pen

4 个答案:

答案 0 :(得分:4)

您想使用:not()。也就是说,

section:not(:last-child) { margin-bottom:1em; }

我的语法可能对您所做的事情有误,但这只是一个开始。

答案 1 :(得分:2)

我个人会为这些使用类名,并专门针对我想要修改的类。但是,如果要避免使用类名,可以使用last-child

Syntax:
:last-child

Usage:
p:last-child {
  font-size: 0.75em;
}

更多信息here

答案 2 :(得分:2)

保持简单。把它放在样式表的顶部然后忘了。在过去,它给我带来了很多麻烦:

*:last-child {
  margin-bottom: 0;
}

答案 3 :(得分:0)

  section div:last-of-type p {
  margin-bottom: 0;
  border: 3px solid blue;
 }

似乎要对它进行排序....但是,这假设最后一个元素是div中的一个段落。如果你有不同的最后元素,那么一个类将是一个更有效的解决方案。