【问题标题】:CSS multiple different off/out transitionsCSS多个不同的关闭/输出过渡
【发布时间】:2017-01-10 22:31:17
【问题描述】:

想象一个白色的盒子。盒子可以根据情况变成蓝色或红色。我希望盒子慢慢地从蓝色变回白色,但它应该从红色快速变回白色。我如何实现这一点,因为当它变回白色时,box-transition 似乎适用于两个淡入淡出。

我最近做了很多关于 CSS 过渡的搜索和阅读。我现在知道如何在两种状态之间进行不同的元素转换,例如快速从状态 A 到 B,然后慢慢从状态 B 回到 A。

但是,有没有一种方便的方式来编写 CSS,以便元素始终以相同的方式从 A 过渡到 B,但以 多种 方式从 B 过渡到 A。例如说我想要以多种不同的方式从 :hover 返回到基本状态,可能第一次快,下一次慢,第三次我将鼠标悬停在一个元素上时甚至更慢。

和往常一样:仅使用 CSS 可以做到这一点吗?

谢谢

【问题讨论】:

    标签: css hover transition


    【解决方案1】:

    实际上,您需要在悬停状态上设置转换,然后立即返回。

    div.a{
    width:200px;
    height:200px;
    background: blue;
    margin-bottom:10px;
    }
    div.a:hover{
    background: red;
    transition: all 1s;
    } 
    

    这是理解https://jsfiddle.net/waf745hf/的小提琴

    【讨论】:

    • 这是单向或双向过渡的一个很好的例子。您将如何编写 CSS 以使“后阶段”的持续时间在不同值之间交替。在您的示例中,它会在 1 秒内转换回来,但您能否在下次将鼠标悬停在它上面并移开鼠标时让它转换回来 2 秒,也许是通过使用不同的类?
    • 是的,您可以添加切换类并在其上应用样式。现在看这个小提琴jsfiddle.net/waf745hf/6绿色慢到2秒。您可以删除解决方案的绿色背景。
    • 感谢第二次回复!我现在已经浏览了几次代码,这可能是最好的方法。但是,当有很多元素需要根据特殊提示进行切换时,处理切换可能会非常困难。谢谢!
    • 其实解决方案还是看场景的。你要求简单的解决方案,所以我试图提供它。如果您分享项目的实际问题,我将很乐意为您提供帮助。 :)
    猜你喜欢
    • 2014-06-11
    • 2014-04-21
    • 2016-05-17
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    相关资源
    最近更新 更多