CSS如何select第一个出现的元素后另一个元素

我在页面上获得了以下HTML代码

<h4>Some text</h4> <p> Some more text! </p> 

在我的CSS我有以下select器风格的H4元素。 上面的HTML代码只是整个代码的一小部分,有几个div更多的是属于一个shadowbox

 #sb-wrapper #sb-wrapper-inner #sb-body #myDiv h4 { color : #614E43; margin-top : 5px; margin-left : 6px; } 

所以我有我的H4元素正确的风格,但我也想在我的HTML样式段落标记。 这是可能的CSSselect器? 如果是的话,我该怎么做?

 #many .more.selectors h4 + p { ... } 

这被称为邻居兄弟select器 。

对于你的文字例子,你想使用相邻的select器(+)。

 h4 + p {color:red}//any <p> that is immediately preceded by an <h4> <h4>Some text</h4> <p>I'm red</p> <p>I'm not</p> 

但是,如果你想select所有连续的段落,你需要使用一般的兄弟select符(〜)。

 h4 ~ p {color:red}//any <p> that has the same parent as, and comes after an <h4> <h4>Some text</h4> <p>I'm red</p> <p>I am too</p> 

这是众所周知的IE 7 +越野车不幸的 。

当试图解决这种types的事情,我自己就打这个。

我做了一个select器来处理元素,而不是p。

 .here .is.the #selector h4 + * {...} 

希望这有助于任何人发现它:)