怎么使用纯CSS实现宝路薄荷糖的动画

本篇内容介绍了“怎么使用纯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实现宝路薄荷糖的动画”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


本文标题:怎么使用纯CSS实现宝路薄荷糖的动画
链接URL:http://azwzsj.com/article/ihhohc.html

其他资讯