我有 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;
}
我有 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;
}
反之亦然,因为兄弟组合器仅在一个方向上工作(从较早的兄弟到较晚的兄弟)。换句话说,使用 CSS,您只能更改单击的#t2
时间#t1
,而不能更改单击的#t1
时间#t2
。此外,>
是子组合器,而不是兄弟组合器。
如果您需要相同的行为以两种方式工作,则必须使用 JavaScript mousedown 事件而不是:active
选择器。
我可以想到几种方法来仅使用 CSS 来实现这一点,尽管它们并不完全“真诚”。
第一种方法依赖于创建第一个按钮的“假”克隆,并在第二个按钮为:active
demo: little link时显示它。
第二种方法依赖于这样一个事实,即当您button
的 s 之一是时:active
,它后面的父元素:active
也是如此。这是此解决方案的演示:little link。