css - 如果类位于具有特定 ID 的另一个元素之后,则具有特定的 CSS

标签 css css-selectors

我有这种情况:

<div id="parent">
   <div id="a"></div>
   <li class="b"></li>
</div>

在我的例子中,我想添加 margin-top: 5px;只有在 id a 之后才属于 b 类。请注意,这些不是子元素,而是在同一元素中。

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

最佳答案

您可以使用相邻兄弟选择器。以下将选择所有带有 .b 类的元素,这些元素跟在带有 id #a 的元素之后:

#a + .b {
  margin-top: 5px;
}

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

在此处阅读有关 CSS 子选择器和同级选择器的更多信息:http://css-tricks.com/child-and-sibling-selectors/

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

关于css - 如果类位于具有特定 ID 的另一个元素之后,则具有特定的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25037745/

相关文章:

java - Selenium cssSelector 在 IDE 中有效,但在 Webdriver 中无效

javascript - 在搜索兄弟时使用 CSS 选择器而不是 XPath 定位器

python - 如何使用 Selenium Python 点击​​元素

jquery - 获取 anchor 标题并放入输入中

css - 在动画之后转换属性

html - 选择这个而不是那个

javascript - 在我的网络应用程序的固定侧按钮上悬停/单击不匹配?

javascript - 隐藏元素,但为那个地方显示空白

javascript - 使用 jQuery 向文档添加样式表

html - 悬停时不显示 Div?