这篇文章主要介绍了怎么使用纯CSS实现文本淡入动画效果,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。


https://github.com/comehope/front-end-daily-challenges
定义 dom,容器中包含若干子元素,每个子元素是 1 个字母:
h a p p y h o l i d a y s
居中显示:
body {
margin: 0;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(pink, white, pink);
}设置字体样式:
.container span {
display: inline-block;
color: purple;
font-weight: bold;
text-transform: uppercase;
font-size: 40px;
}定义文字从左到右的移动效果:
.container span {
animation: sideSlide 4s forwards infinite;
transform: translateX(-100vw);
}
@keyframes sideSlide {
15%, 20% {
transform: translateX(0.5em);
}
24% {
transform: translateX(0);
}
25%, 75% {
transform: translateX(0);
}
90%, 100% {
transform: translateX(100vw);
}
}增加文字缩放的动画效果:
.container span {
transform: translateX(-100vw) scale(0);
}
@keyframes sideSlide {
15%, 20% {
transform: translateX(0.5em) scale(1);
}
24% {
transform: translateX(0) scale(1.2);
}
25%, 75% {
transform: translateX(0) scale(1);
}
90%, 100% {
transform: translateX(100vw) scale(0);
}
}增加文字入场和出场时的淡入淡出效果:
.container span {
filter: opacity(0);
}
@keyframes sideSlide {
15%, 20% {
transform: translateX(0.5em) scale(1);
}
24% {
transform: translateX(0) scale(1.2);
}
25%, 75% {
transform: translateX(0) scale(1);
filter: opacity(1);
}
90%, 100% {
transform: translateX(100vw) scale(0);
filter: opacity(0);
}
}增加文字变色的效果:
@keyframes sideSlide {
15%, 20% {
transform: translateX(0.5em) scale(1);
color: purple;
}
24% {
transform: translateX(0) scale(1.2);
color: cyan;
}
25%, 75% {
transform: translateX(0) scale(1);
filter: opacity(1);
color: purple;
}
90%, 100% {
transform: translateX(100vw) scale(0);
filter: opacity(0);
}
}设置子元素的下标变量:
.container span:nth-child(1) { --n: 1; }
.container span:nth-child(2) { --n: 2; }
.container span:nth-child(3) { --n: 3; }
.container span:nth-child(4) { --n: 4; }
.container span:nth-child(5) { --n: 5; }
.container span:nth-child(6) { --n: 6; }
.container span:nth-child(7) { --n: 7; }
.container span:nth-child(8) { --n: 8; }
.container span:nth-child(9) { --n: 9; }
.container span:nth-child(10) { --n: 10; }
.container span:nth-child(11) { --n: 11; }
.container span:nth-child(12) { --n: 12; }
.container span:nth-child(13) { --n: 13; }
.container span:nth-child(14) { --n: 14; }设置子元素的动画延时:
.container span {
animation-delay: calc((var(--n) - 1) * 0.05s);
}感谢你能够认真阅读完这篇文章,希望小编分享怎么使用纯CSS实现文本淡入动画效果内容对大家有帮助,同时也希望大家多多支持创新互联成都网站设计公司,关注创新互联成都网站设计公司行业资讯频道,遇到问题就找创新互联成都网站设计公司,详细的解决方法等着你来学习!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。