如果一个类在具有特定ID的另一个元素之后,则具有特定的CSS

Rya*_*n S 4 css css-selectors

我有这种情况:

<div id="parent">
   <div id="a"></div>
   <li class="b"></li>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我想添加margin-top:5px; 只有在id a之后才能上课.请注意,这些不是子项,而是在同一元素中.

我想要一种使用纯CSS或CSS3的方法,而不需要使用LESS或SASS.我知道这也许可以使用JavaScript或jQuery,只是想知道它是否可以在CSS中完成以及如何完成.

Hen*_*ala 12

您可以使用相邻的兄弟选择器.下面将选择所有带有类.b的元素,其后面的元素为id #a:

#a + .b {
  margin-top: 5px;
}
Run Code Online (Sandbox Code Playgroud)

相邻的兄弟选择器是CSS 2.1规范的一部分,在IE7 +中受支持

在这里阅读有关CSS子和兄弟选择器的更多信息:http://css-tricks.com/child-and-sibling-selectors/

演示:http://jsfiddle.net/76qJm/3/