为什么我的css转换有时在退出悬停后保持悬停状态?

时间:2014-01-07 15:50:05

标签: css hover css-transitions css-animations css-transforms

JSFiddle

已设置CSS过渡以增加悬停时的transform:scale(x)属性。它按预期工作,但有时游戏中的元素将保持在增加的比例值,而不是恢复到原始比例值。

似乎大部分时间,当退出元素的悬停状态时,一切正常。但是,在某些情况下,退出元素上的悬停状态将导致另一个元素“捕捉”到悬停状态。

我不确定是什么导致这种情况,因为它似乎是随机发生的。如果您只是随意鼠标悬停在元素上,您几乎会立即看到它。 (/ edit / - 尝试将鼠标悬停在元素上,然后用鼠标退出DOWN。然后返回到另一个元素顶部的内容区域。这似乎是触发问题的最一致方式)

对于这个荒谬的示例感到抱歉 - 由于文件路径敏感,我不得不删除以前的图片。

/ edit / - 似乎animation-fill-mode的{​​{1}}值导致了此问题,但目前尚不清楚原因。考虑到此值旨在将元素应用于其最终(100%帧)css值,看起来似乎不包括forwards会导致此问题。事实上,它似乎应该纠正它。

有没有人对此问题的原因有任何意见?它是Chrome独有还是在其他浏览器中保留?

1 个答案:

答案 0 :(得分:1)

我认为这是Chrome中的某种错误。

问题似乎与动画中的转发属性有关;我删除了它,这个bug似乎消失了。

因为100%关键帧是scale(1,1)opacity(1)

,所以不需要它。