为什么以下代码的颜色不是“Won
”红色?我希望#sisters>*~#too
选择所有与#too
同时拥有最终兄弟的商品(也就是说,#too
之前的所有项目,即#won
)。但是,#too
仅选择了#sisters>*~#too
。
简而言之,为什么#sisters>*~#too
没有选择其先前的兄弟#won
?
<style>
#sisters>#too~*,
#sisters>*~#too {
color: red;
}
</style>
<div id="sisters">
<div id="won">Won</div>
<div id="too">Too</div>
<div id="tree">Tree</div>
<div id="fore">Fore</div>
<div id="jive">Jive</div>
</div>
答案 0 :(得分:4)
您不能在CSS上以方兴的方式选择元素。您可以只选择后代和后面的元素。所以使用这个选择器:
#sisters>*~#too
您正在搜索:
too
的所有元素
~
>*
id sisters
这样CSS选择器总是选择选择器上最后一个符合所有先前条件的项目。
答案 1 :(得分:3)
波浪线(称为General Sibling Combinator)选择元素在其左侧匹配后的任何兄弟。不幸的是,目前在CSS中没有选择带有任何选择器的前一个元素的方法。