animation - 如何在 cubic-bezier 方法上禁用 css3 transition mouseleave 效果?

标签 animation css hover transition mouseleave

我有一个 CSS3 rotate transform 和一个 cubic-bezier transition-timing-function,它是鼠标悬停时工作正常,但我想禁用鼠标离开动画。我准备了一个简单的jsFiddle给你看。

img {
    transition : all 1s cubic-bezier(0.680,-0.550,0.265,1.550);
}

img:hover {
    transform: rotate(360deg);
}

最佳答案

你的意思是你不希望它在你悬停时转换回来?您可以使用“无限”(实际上非​​常大)transition-delay (这是 shorthand 中的第二个时间值)。

像这样:

demo

CSS:

img {
    transition: 0s 99999s; /* transition when mouse leaves */
}
img:hover {
    transform: rotate(360deg);

    /* transition on mouseover */
    transition: 1s cubic-bezier(0.680,-0.550,0.265,1.550);
}

请注意,这将使图像仅在第一次悬停时旋转。


如果你想让它在每次悬停时旋转,那么你必须使用 keyframe animations .像这样:

demo

CSS(没有前缀,您必须添加它们):

img:hover {
    animation: rot 1s cubic-bezier(0.680,-0.550,0.265,1.550);
}
@keyframes rot {
    to {
        transform: rotate(360deg);
    }
}

此外,我注意到您首先编写了无前缀的属性 - 您应该始终将其放在最后。尤其是现在,当即将推出的 IE、Firefox 和 Opera 版本正在取消前缀转换时。

关于animation - 如何在 cubic-bezier 方法上禁用 css3 transition mouseleave 效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12653270/

相关文章:

css - 将 html 表单输入悬停在图像上

jQuery 时间鼠标悬停在元素上(悬停)

css - 如何在我的自定义 CSS 菜单上覆盖部分边框

qt - 在插入之前查找 QWidget 的高度

javascript - 在javascript中更改CSS动画

python - Pygame 第一次没有响应

javascript - 视差滚动绑定(bind)动画,以不同的速度动画

html - 文本不会保留在网站上的父级中,即使被证明可以在多个平台上工作

html - 内联div不显示

html - 有没有一种方法可以判断 IE7 是在标准模式还是 Quirks 模式下呈现页面