我正在寻找一种仅在DOM中彼此相邻的标头标签(<h1><h2><h3>等)上调整边距的方法。

所以这就是我所拥有的:
http://jsfiddle.net/LtAHW/1/

基本上,我要达到的目的是加强<h2><h3>之间的间距,但前提是它们彼此紧挨着出现。因此,在上面的示例中,只有第一子节和第一子子节之间的空间。

我希望可以与标头标记的任何组合一起使用的解决方案,但是任何想法或建议都将不胜感激!

最佳答案

嘿,

您是否尝试过相邻的选择器?

h2 + h3 {
  margin-top: 10px;
}


仅在紧随第一个元素之后,才会选择第二个元素。因此,在这种情况下,将紧跟

之后的每个

元素,并将其边距上限设置为10px。

如果您想要一个可以与标头元素的任何组合一起使用的解决方案,则可以创建几个类以在需要时使用,如下所示:

.h-first + .h-adjacent {
  margin-top: 10px;
}


不是世界上最好的班级名字,但是您会明白的。您可以将它们与标题(或与此相关的任何元素)的任意组合一起使用,并以此方式确定目标。

IE7 +支持相邻的选择器,因此在大多数项目中都应包括在内。

希望这是您想要的!

编辑:

Here's your example updated

08-19 23:58