是否有一个 CSS 选择器可以选择.a + .b
相对于的恭维.a ~ .b
?
用更少的数学术语来说,我想选择所有继承元素的兄弟元素,不包括它的第一个兄弟继承者。
例如,在所有dl
列表中,我将所有dd
元素都涂上了某种颜色。但是在内联 dl
列表中,我想保持第dd
一个dt
相同的颜色,但所有后续dd
的 s 都将更改为另一种颜色。下面是我的代码,显然不是DRY。有没有办法在不重新定义颜色的情况下做到这一点?
/* dl lists contain dd terms all colored light aqua */
dl > dd {
background-color: #c0ffee;
}
/* inline dl lists have dd terms displayed inline and colored yellow-green */
dl.inline > dd {
display: inline;
background-color: #bada33;
}
/* however, in an inline dl list, the first dd succeeding a dt is colored normally */
dl.inline > dt + dd {
background-color: #c0ffee;
}