首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS动画值不会“粘住”

CSS动画值不会“粘住”
EN

Stack Overflow用户
提问于 2014-12-28 17:47:30
回答 2查看 471关注 0票数 1

在我的web应用程序中,我想在登录或退出几秒钟后显示一条消息给用户。我想用CSS来完成这个动画。

下面是我的样式表:

代码语言:javascript
复制
@keyframes fadeout {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.flash-message {
    animation: fadeout 1s 3s;
}

这几乎是可行的:经过三秒的延迟,它开始褪色,然后用一秒来完成动画。问题是动画完成后消息会重新出现。

这是我必须做的,才能让信息隐藏起来:

代码语言:javascript
复制
@keyframes fadeout {
    0% {
        opacity: 1;
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.flash-message {
    animation: fadeout 4s;
    opacity: 0;
}

似乎应该有一个更容易的方法,使第一个版本的工作。我是遗漏了什么,还是必须像第二个版本那样在类中使用opacity: 0

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-28 17:54:09

使用animation-fill-mode并将其设置为forwards

代码语言:javascript
复制
@keyframes fadeout {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.flash-message {
    animation: fadeout 1s 3s forwards;
}
票数 7
EN

Stack Overflow用户

发布于 2018-10-28 00:09:40

正如杰森的回答所解释的那样,animation-fill-mode是最好的选择。它定义了CSS属性是否和如何在动画之外应用。

它的默认设置是none,它只在动画执行时应用属性。

将其设置为forwards将永久应用上一个keyframe值中的属性。

有关更多信息,请参见值列表

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

https://stackoverflow.com/questions/27678986

复制
相关文章

相似问题

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