我有2个元素按钮,当我点击另一个时,我想改变一个颜色,反之亦然。我尝试过,但不行。谁能帮我? HTML:
<button id="t1">Test 1</button>
<button id="t2">Test 2</button>
CSS:
#t1:active + #t2
{
color: red;
}
#t2:active + #t1
{
color: red;
}
答案 0 :(得分:2)
没有反之亦然,因为兄弟组合器只能在一个方向上工作(从早期的兄弟姐妹到后来的兄弟姐妹)。换句话说,使用CSS时,您只能在点击#t2
时更改#t1
,而在点击#t1
时不能更改#t2
。此外,>
is the child combinator,而不是兄弟组合。
如果您需要使用相同的行为双向工作,则必须使用JavaScript mousedown事件而不是:active
选择器。
答案 1 :(得分:2)
我可以通过几种方式来解决这个问题,尽管它们并不完全真诚地使用CSS。
第一种方法依赖于创建一个&#34;假的&#34;克隆第一个按钮,并在第二个按钮为:active
时显示,演示:little link。
第二种方法依赖于以下事实:当button
之一为:active
时,其背后的父元素也为:active
。以下是此解决方案的演示:little link。