css - 选择没有跟随另一个的元素

标签 css css-selectors

我需要能够选择一个 HTML p 标签,前提是它后面没有跟有特定类的另一个 div 元素。例如,我需要选择这个 P

<div id="myContainer">
    <p>...</p>
    <div>...</div>
</div>

但不是这个,因为它后面跟着一个带有 class="red"的 div。

<div id="myContainer">
    <p>...</p>
    <div class="red">...</div>
</div>

这是我正在尝试的:

#myContainer > p ~ div:not(.step) 

最佳答案

您不能使用 CSS 来定位前面的元素,但根据您的 HTML 结构,您可以使用直接同级选择器。

CSS:

.myContainer p + div:not(.red)   {
   border: 1px solid #000;
}

HTML:

<div class="myContainer">
    <p>...</p>
    <div>...</div>
</div>
<div class="myContainer">
    <p>...</p>
    <div class="red">...</div>
</div>

演示 http://jsfiddle.net/92VVZ/

关于css - 选择没有跟随另一个的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22486333/

相关文章:

html - 两个 style.css 有冲突

css - 使单元格内的 div 适合其内容

html - 使绝对位置的 block 成为其文本内容的宽度

html - CSS 选择紧跟在具有不同属性值的元素之后放置的所有元素

html - 有没有理由不使用单个非嵌套类名作为 CSS 选择器?

javascript - 如何选择相关元素jquery的prev no

javascript - 如何动态加载外部CSS文件?

html - HTML/CSS客户门户

javascript - Jquery选择器无法识别

css - 如何在 CSS 中选择具有多个类的元素?