【发布时间】:2018-05-20 17:44:43
【问题描述】:
我想在单击另一个元素时突出显示某个 HTML 元素。仅使用 CSS 的经典解决方案似乎如下,使用以下 HTML,
<!DOCTYPE html>
<html>
<body>
<div>
There are <a href="#fermions">Fermions</a>
and <a href="#bosons">Bosons</a>.
<div class="highlightable" id="fermions">
Bosons are very social particles!
</div>
<div class="highlightable" id="bosons">
Fermions only goes out as a couple!
</div>
</div>
</body>
</html>
以及下面的 CSS
@keyframes highlight {
0% {
background: LightSkyBlue;
}
100% {
background: none;
}
}
.highlightable:target {
animation: highlight 1s;
}
这是fiddle implementing this。当我点击“费米子”时,div“费米子只作为一对出去!”强调。好的!当我再次单击“费米子”时,它不再突出显示。但是,如果我点击“Bosons”,从而突出显示另一个 div,然后再次点击 Fermions,则带有 Fermions 的 div 再次突出显示。
有人可以解释发生了什么吗?始终单击突出显示相应的div 以使用Javascript 的唯一解决方案是?
【问题讨论】:
-
因为它已经是目标,所以动画还在……就像你添加了一个类然后你想再次添加它,但它已经在那里了
标签: css css-animations pseudo-class