html - 多个文本 CSS 动画不会在指定时间开始
问题描述
我正在创建一个带有 css 文本动画的登录页面。
我想让几行文字一个接一个地出现。
每段文本应呈现 2 秒,并在上一行文本不再呈现后开始。
我遇到的问题是,
文本呈现为不透明,然后进入动画开始时间和持续时间。
我希望动画在页面加载时进行,
而不是渲染(左侧或顶部:-300px)
,并在第一个动画停止后渲染。
我尝试了各种属性,例如动画延迟和持续时间以及轻松无济于事。
.header-animate-wg {
position : relative;
animation : header-animate-wg 2s;
animation-fill-mode: forwards;
}
@keyframes header-animate-wg {
0% { opacity: 0; top: -300px;}
50% { opacity: 1; top: 0;}
75% { opacity: 1; top: 0;}
90% { opacity: 0.2; top: 0;}
100% { opacity: 0; }
}
.header-animate-im {
position : relative;
animation : header-animate-im;
animation-duration : 2s;
animation-fill-mode: forwards;
}
@keyframes header-animate-im {
0% { opacity: 0; left: -300px; }
90% { opacity: 1; }
100% { opacity: 0; }
}
.header-animate-me {
position : relative;
animation : header-animate-me 2s;
animation-fill-mode: forwards;
}
@keyframes header-animate-me {
0% { opacity: 0; left: -300px; }
90% { opacity: 1; }
100% { opacity: 0; }
}
<div class="header-animate-wg">
<h1> What's good!</h1>
</div>
<div class="header-animate-im">
<h1> I'm </h1>
</div>
<div class="header-animate-me">
<h1> Name </h1>
</div>
解决方案
分割动画进入动画,离开动画。现在您可以使用animation-delay
(第 4 个参数,在forwards
或之后both
)来安排动画:
.header-animate-wg {
position: relative;
animation: header-animate-enter-top 1s forwards,
header-animate-leave-fade 1s forwards 3s;
}
.header-animate {
position: relative;
}
.header-animate-im {
animation: header-animate-enter-left 1s both 1s,
header-animate-leave-fade 1s forwards 4s;
}
.header-animate-me {
animation: header-animate-enter-left 1s both 2s,
header-animate-leave-fade 1s forwards 5s;
}
@keyframes header-animate-enter-top {
from { top: -100px; opacity: 0 }
to { top: 0; opacity: 1; }
}
@keyframes header-animate-enter-left {
from { left: -100px; opacity: 0; }
to { left: 0; opacity: 1; }
}
@keyframes header-animate-leave-fade {
from { opacity: 1; }
to { opacity: 0; }
}
}
<div class="header-animate-wg">
<h1> What's good!</h1>
</div>
<div class="header-animate header-animate-im">
<h1> I'm </h1>
</div>
<div class="header-animate header-animate-me">
<h1> Name </h1>
</div>
推荐阅读
- laravel - 在 nem 中发起事务返回 FAILURE_WRONG_NETWORK
- ios - 在 AWS 套接字 S3 存储桶中缓存
- javascript - 如何通过单击javascript更改div?
- python - 使用带有 Pythonnet 的 mXparser 的构造函数错误
- html - 我可以在字体列表中使用 CSS 变量并让它在旧版浏览器中工作吗?
- python - 在 Excel 输出中动态调整行高:在单元格中添加了额外的行?
- android - 如何仅通过一个 Peerconnection 在 webrtc(android) 中支持多人(超过 2 个)调用?
- android - 无法在 android 设备中安装我相同的签名 apk 两次
- android - 如何为一个接受用户提供的报价并接受/拒绝/提供还价作为输出的 android 应用程序创建 AI?
- excel - 使用 Excel VBA 在 Outlook 邮件中粘贴的正文后插入签名