我想使用 CSS3 过渡创建效果。一个 div 应该在鼠标悬停时改变它的宽度和背景颜色。然后在 mouseout 上它应该等待 2 秒,然后回到它的正常宽度和背景颜色。我所做的是hoverclass
在鼠标悬停时通过 jQuery 添加一个类,并在鼠标悬停时将其删除。查看小提琴。
我有两个问题。首先,浏览器会以不同的方式解释小提琴。在 Chrome 中一切正常,鼠标悬停时 div 将立即更改其宽度,然后在鼠标移出时等待 2 秒并恢复正常大小。然而,在 Firefox 中,新添加的 hoverclass 将直接用作新的转换规则。所以发生的情况是鼠标悬停动画将在 2 秒后开始。然后在 mouseout 时,该类将被删除,发生的情况是 Firefox 将从中获取转换规则,#test
因此 div 将直接恢复到其正常大小而不会延迟。
我注意到的第二件事是,当我尝试为两个属性设置动画时,背景颜色和宽度,当仅对宽度使用新的过渡规则时(如在 hoverclass 中),它将覆盖背景颜色的一个。这是否意味着我必须编写我#test
在悬停类中使用的所有转换属性?