gpt4 book ai didi

javascript - @keyframes 动画文字淡入淡出

转载 作者:太空宇宙 更新时间:2023-11-04 09:09:15 25 4
gpt4 key购买 nike

我正在尝试编写此文本动画效果 ( please see video ),但我离解决方案还很远!!

你能帮帮我吗?也许使用 js 更好?

h1.fadeinone { animation: fadeinone 10s;}
h1.fadeintwo { animation: fadeintwo 10s;}
h1.fadeinthree { animation: fadeinthree 10s;}

@keyframes fadeinone {
0% {
opacity: 0;
}
33% { /* 3s for fade in */
opacity: 1;
}

}

@keyframes fadeintwo {
0% {
opacity: 0;
}

66% { /* 3s for fade in */
opacity: 1;
}
}

@keyframes fadeinthree{
0% {
opacity: 0;
}

100% { /* 3s for fade in */
opacity: 1;
}
}

#claim h1 {

font-size: 40px;
line-height:40px;
margin:0px;
padding:0px;
color:#FFF;
}

#claim {background-color:red;}
<div id="claim">
<h1 class="fadeinone">DESIGN</h1>
<h1 class="fadeintwo">loren ipsum</h1>
<h1 class="fadeinthree">DOLOR SIT</h1>
</div>

最佳答案

我认为您正在寻找 animation-delay 属性。这有点乏味,因为你必须将每一行的每个字母分离到它自己的元素中(在这种情况下我使用了 span),然后你必须手动分配每个 span 它自己的延迟,但效果与您提供的相匹配。

此外,通过使用此方法,您只需要一组关键帧,因为您将使用延迟来确定动画何时开始,而不是使用多个动画的百分比。

div span
{
opacity: 0;
animation-name: fadein;
animation-duration: 3s;
animation-fill-mode:forwards;
}

div span:nth-child(1){animation-delay:0s}
div span:nth-child(2){animation-delay:0.2s}
div span:nth-child(3){animation-delay:0.4s}
div span:nth-child(4){animation-delay:0.6s}
div span:nth-child(5){animation-delay:0.8s}
div span:nth-child(6){animation-delay:1s}

@keyframes fadein
{
0%{opacity: 0}
100%{opacity:1}
}
<div>
<span>D</span><span>E</span><span>S</span><span>I</span><span>G</span><span>N</span>
</div>

当然,您可以使用 Javascript 执行此操作,并且解决方案可能会更优雅且更易于修改;但是,您必须处理兼容性问题。尽可能坚持使用严格的 CSS 会更好。

关于javascript - @keyframes 动画文字淡入淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com