CSS 到 select 兄弟姐妹和后代有可能吗?

Is it possible for CSS to select both siblings and descendants?

注意:我不是在问如何select parent。

在我提出问题之前,先简单介绍一下背景知识。

可以使用直系兄弟select或:

p + p { background: red; }

... 到 select 第二个 <p></p>:

<p></p>
<p>selected!</p>

可以使用立即数 child select 或者:

p > span {background: red; }

... 到 select 只有 spanp 的直接 child:

<p>
  <span></span>
</p>

好的,很好。

现在,一个 select 如何仅 <p> 紧随其后的元素 <p> 只包含一个 <br>?

<p>            <!-- when there is a p                     -->
  <br />       <!-- and it only contains a br             -->
</p>
<p>            <!-- select the p immediately following it -->
   Select me! 
</p>

我试过 p > br:only-child + p {background: red;} 但这不太正确。

这是完全不可能的。

您不能 select 基于其子元素的父元素。