连续段落的 CSS 颜色



包含在父元素(例如div,ul(中,我想设置单个段落的颜色,然后让所有后续段落接收相同的颜色 - 直到出现新的段落类来更改颜色。 我试图实现选择器来完成工作,但混合的结果最终只会让我感到困惑。 如能提出建议,将不胜感激。 谢谢。

<html>
<head>
<style>
p.r { color: red; }
p.g { color: green; }
</style>
</head>
<body>
<p class="r">RED
<p class="g">GREEN
<p class="r">RED
<p>red
<p class="g">GREEN
<p>green
<p class="r">RED
<p>red
<p>red
<p class="g">GREEN
<p>green
<p>green
</body>
</html>

在父类上设置样式,即。

.HTML

<div class="parentdiv">
<p>this will appear blue</p>
<p>this will also appear blue</p>
<p class="green">this will appear green</p>
</div>

.CSS

.parentdiv p {
color: blue;    
}
.parentdiv .green {
color: green;
}

这不是一个非常可扩展的解决方案,但一种选择是重复相邻的同级运算器,并连续重复p:not([class])多个连续的<class>+<classless>元素:

p.r,
p.r+p:not([class]),
p.r+p:not([class])+p:not([class])
{
color: red;
}
p.g,
p.g+p:not([class]),
p.g+p:not([class])+p:not([class])
{
color: green;
}
<p class="r">RED</p>
<p class="g">GREEN</p>
<p class="r">RED</p>
<p>red</p>
<p class="g">GREEN</p>
<p>green</p>
<p class="r">RED</p>
<p>red</p>
<p>red</p>
<p class="g">GREEN</p>
<p>green</p>
<p>green</p>

最新更新