首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS @keyframe动画轻松

CSS @keyframe动画轻松
EN

Stack Overflow用户
提问于 2017-12-13 22:51:55
回答 1查看 659关注 0票数 0

我试图使一个动画轻松元素的原始值后,悬停。动画本身运行良好,但是当我悬停在元素之外时,它会立即恢复到原来的状态,而我希望有一个0.2s 轻松的。有什么帮助吗?

这是我的密码:

代码语言:javascript
复制
img.footer {
        filter: grayscale(1);
        -webkit-filter: grayscale(1);
        animation-timing-function: ease-out; /*this is what i have tried*/
        -webkit-animation-timing-function: ease-out; /*this is what i have tried*/
    }
    @keyframes flash {
        0%   {
            filter: grayscale(1);
            -webkit-filter: grayscale(1);
        }
        6%   {
            filter: grayscale(0) brightness(1.2);
            -webkit-filter: grayscale(0) brightness(1.2);
        }
        33%, 100%   {
            filter: grayscale(0) brightness(1);
            -webkit-filter: grayscale(0) brightness(1);
        }
    }
    img.footer:hover {
        animation-name: flash;
        animation-duration: 0.999s;
        animation-fill-mode: forwards;
        animation-timing-function: ease-out; /*this is what i have tried*/
        -webkit-animation-timing-function: ease-out; /*this is what i have tried*/
    }

工作样品

EN

回答 1

Stack Overflow用户

发布于 2017-12-13 23:22:17

一种方法是将其应用于起始和结束状态的转换效果,其中非悬停css是所需的初始状态和从悬停状态的转换:

代码语言:javascript
复制
img.footer {
  filter: grayscale(1);
  -webkit-filter: grayscale(1);
  -moz-transition:all 0.2s ease;
    -webkit-transition:all 0.2s ease;
    -ms-transition:all 0.2s ease;
    -o-transition:all 0.2s ease;
    transition:all 0.2s ease;
}
img.footer:hover {
  filter: grayscale(0) brightness(1.2);
  -webkit-filter: grayscale(0) brightness(1.2);
  -moz-transition:all 0.999s ease;
    -webkit-transition:all 0.999s ease;
    -ms-transition:all 0.999s ease;
    -o-transition:all 0.999s ease;
    transition:all 0.999s ease;
}

对这种方法的唯一警告是,您不能指定中间灰度值或亮度值(如果您不希望线性转换)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47803317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档