重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“怎么使用纯CSS实现宝路薄荷糖的动画”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
公司主营业务:网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出桃城免费做网站回馈大家。
代码解读
定义dom,只有1个元素:
居中显示:
body{
margin:0;
height:100vh;
display:flex;
align-items:center;
justify-content:center;
background-color:silver;
}
定义容器尺寸:
.spinner{
width:50vmin;
height:50vmin;
position:relative;
}
用before伪元素画出1个像宝路薄荷糖状的黑色圆环:
.spinner::before{
content:'';
position:absolute;
box-sizing:border-box;
width:inherit;
height:inherit;
border:12.5vminsolid;
border-radius:50%;
}
接下来制作动画效果。
设置透视景深:
body{
perspective:400px;
}
让圆环在z轴上运动:
.spinner::before{
animation:spin1.5sease-in-outinfinitebothreverse;
}
@keyframesspin{
0%,100%{
transform:translateZ(10vmin);
}
60%{
transform:translateZ(-10vmin);
}
}
让圆环在z轴距离较大时稍稍倾斜:
@keyframesspin{
0%,100%{
transform:translateZ(10vmin)rotateX(25deg);
}
60%{
transform:translateZ(-10vmin);
}
}
增加缩放效果:
@keyframesspin{
0%,100%{
transform:translateZ(10vmin)rotateX(25deg);
}
33%{
transform:translateZ(-10vmin)scale(0.4);
}
60%{
transform:translateZ(-10vmin);
}
}
用after伪元素再画出一个白色的圆环,并且让它的动画延迟动画总长的一半时间:
.spinner::before,
.spinner::after{
/*略*/
animation:spin1.5sease-in-outinfinitebothreverse;
}
.spinner::after{
border-color:white;
animation-delay:-0.75s;
}
接下来制作容器的动画效果,为了不受子元素动画的影响,先暂时屏蔽伪元素的动画效果。
.spinner::before,
.spinner::after{
/*animation:spin1.5sease-in-outinfinitebothreverse;*/
}
增加容器沿x轴旋转的动画效果,动画时间为子元素动画时间的2倍:
.spinner{
animation:wobble3sease-in-outinfinite;
}
@keyframeswobble{
0%,100%{
transform:rotateX(15deg);
}
50%{
transform:rotateX(60deg);
}
}
增加容器沿y轴旋转的动画效果:
@keyframeswobble{
0%,100%{
transform:rotateX(15deg)rotateY(60deg);
}
50%{
transform:rotateX(60deg)rotateY(-60deg);
}
}
增加容器整体旋转的动画效果:
@keyframeswobble{
0%,100%{
transform:rotateX(15deg)rotateY(60deg);
}
50%{
transform:rotateX(60deg)rotateY(-60deg)rotate(180deg);
}
}
打开子元素的动画效果,使子元素的动画效果和容器的动画效果叠加:
.spinner::before,
.spinner::after{
animation:spin1.5sease-in-outinfinitebothreverse;
}
最后,使子元素在3d空间上运动:
.spinner{
transform-style:preserve-3d;
}
“怎么使用纯CSS实现宝路薄荷糖的动画”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!