我有这种情况:
<div id="parent">
<div id="a"></div>
<li class="b"></li>
</div>
在我的情况下,我想添加margin-top:5px;只有在id a之后才能上课。请注意,这些不是子项,而是在同一元素中。
我想要一种使用纯CSS或CSS3的方法,而不需要使用LESS或SASS。我知道这也许可以使用JavaScript或jQuery,只是想知道它是否可以在CSS中完成以及如何完成。
答案 0 :(得分:12)
您可以使用相邻的兄弟选择器。下面将选择所有带有类.b的元素,其后面的元素为id #a:
#a + .b {
margin-top: 5px;
}
相邻的兄弟选择器是CSS 2.1规范的一部分,在IE7 +
中受支持在此处阅读有关CSS子级和兄弟选择器的更多信息:http://css-tricks.com/child-and-sibling-selectors/
答案 1 :(得分:2)
如果要使用类b定位许多元素,则需要使用~
选择器。选择器+
将仅查找下一个立即元素。像下面一样更新你的CSS。
#a ~ .b {
margin-top: 5px;
}