编程语言爱好者

母亲节做一个3D爱心动画送给妈妈做礼物呀

2019-05-12  本文已影响0人  编程鸭

之前有看到过很多基于HTML5或者CSS3制作的爱心动画,不过基本上都是2D平面的,今天在国外的网站上看到一个基于HTML5 3D的爱心动画,对于HTML5爱好者来说,不免兴奋了一把。下面将分享一下这个3D爱心动画的实现过程,可以一起来看看。

当然你也可以先看一下DEMO演示

这么好看的HTML5爱心动画,我们当然要把源代码分享给大家,下面是小编整理的源代码,主要是HTML代码和CSS代码。

如果你对编程感兴趣或者想往编程方向发展,可以关注微信公众号【筑梦编程】,大家一起交流讨论!小编也会每天定时更新既有趣又有用的编程知识!

HTML代码:

这么多div,主要是构造爱心的线条区域。

下面是CSS3代码,对这些线条进行渲染,以便其有3D的视觉效果。

.heart3d{

position: absolute;

top:0;

right:0;

bottom:0;

left:0;

margin: auto;

width:100px;

height:160px;

-webkit-transform-style: preserve-3d;

transform-style: preserve-3d;

-webkit-animation: spin15sinfinite linear;

animation: spin15sinfinite linear;

}

.heart3d[class^="rib"]{

position: absolute;

width:100px;

height:160px;

border: solid#f22613;

border-width:1px1px00;

border-radius:50%50%0/40%50%0;

}

.heart3d[class$="1"]{

-webkit-transform:rotateY(10deg)rotateZ(45deg)translateX(30px);

transform:rotateY(10deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="2"]{

-webkit-transform:rotateY(20deg)rotateZ(45deg)translateX(30px);

transform:rotateY(20deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="3"]{

-webkit-transform:rotateY(30deg)rotateZ(45deg)translateX(30px);

transform:rotateY(30deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="4"]{

-webkit-transform:rotateY(40deg)rotateZ(45deg)translateX(30px);

transform:rotateY(40deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="5"]{

-webkit-transform:rotateY(50deg)rotateZ(45deg)translateX(30px);

transform:rotateY(50deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="6"]{

-webkit-transform:rotateY(60deg)rotateZ(45deg)translateX(30px);

transform:rotateY(60deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="7"]{

-webkit-transform:rotateY(70deg)rotateZ(45deg)translateX(30px);

transform:rotateY(70deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="8"]{

-webkit-transform:rotateY(80deg)rotateZ(45deg)translateX(30px);

transform:rotateY(80deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="9"]{

-webkit-transform:rotateY(90deg)rotateZ(45deg)translateX(30px);

transform:rotateY(90deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="10"]{

-webkit-transform:rotateY(100deg)rotateZ(45deg)translateX(30px);

transform:rotateY(100deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="11"]{

-webkit-transform:rotateY(110deg)rotateZ(45deg)translateX(30px);

transform:rotateY(110deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="12"]{

-webkit-transform:rotateY(120deg)rotateZ(45deg)translateX(30px);

transform:rotateY(120deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="13"]{

-webkit-transform:rotateY(130deg)rotateZ(45deg)translateX(30px);

transform:rotateY(130deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="14"]{

-webkit-transform:rotateY(140deg)rotateZ(45deg)translateX(30px);

transform:rotateY(140deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="15"]{

-webkit-transform:rotateY(150deg)rotateZ(45deg)translateX(30px);

transform:rotateY(150deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="16"]{

-webkit-transform:rotateY(160deg)rotateZ(45deg)translateX(30px);

transform:rotateY(160deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="17"]{

-webkit-transform:rotateY(170deg)rotateZ(45deg)translateX(30px);

transform:rotateY(170deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="18"]{

-webkit-transform:rotateY(180deg)rotateZ(45deg)translateX(30px);

transform:rotateY(180deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="19"]{

-webkit-transform:rotateY(190deg)rotateZ(45deg)translateX(30px);

transform:rotateY(190deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="20"]{

-webkit-transform:rotateY(200deg)rotateZ(45deg)translateX(30px);

transform:rotateY(200deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="21"]{

-webkit-transform:rotateY(210deg)rotateZ(45deg)translateX(30px);

transform:rotateY(210deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="22"]{

-webkit-transform:rotateY(220deg)rotateZ(45deg)translateX(30px);

transform:rotateY(220deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="23"]{

-webkit-transform:rotateY(230deg)rotateZ(45deg)translateX(30px);

transform:rotateY(230deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="24"]{

-webkit-transform:rotateY(240deg)rotateZ(45deg)translateX(30px);

transform:rotateY(240deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="25"]{

-webkit-transform:rotateY(250deg)rotateZ(45deg)translateX(30px);

transform:rotateY(250deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="26"]{

-webkit-transform:rotateY(260deg)rotateZ(45deg)translateX(30px);

transform:rotateY(260deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="27"]{

-webkit-transform:rotateY(270deg)rotateZ(45deg)translateX(30px);

transform:rotateY(270deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="28"]{

-webkit-transform:rotateY(280deg)rotateZ(45deg)translateX(30px);

transform:rotateY(280deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="29"]{

-webkit-transform:rotateY(290deg)rotateZ(45deg)translateX(30px);

transform:rotateY(290deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="30"]{

-webkit-transform:rotateY(300deg)rotateZ(45deg)translateX(30px);

transform:rotateY(300deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="31"]{

-webkit-transform:rotateY(310deg)rotateZ(45deg)translateX(30px);

transform:rotateY(310deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="32"]{

-webkit-transform:rotateY(320deg)rotateZ(45deg)translateX(30px);

transform:rotateY(320deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="33"]{

-webkit-transform:rotateY(330deg)rotateZ(45deg)translateX(30px);

transform:rotateY(330deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="34"]{

-webkit-transform:rotateY(340deg)rotateZ(45deg)translateX(30px);

transform:rotateY(340deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="35"]{

-webkit-transform:rotateY(350deg)rotateZ(45deg)translateX(30px);

transform:rotateY(350deg)rotateZ(45deg)translateX(30px);

}

.heart3d[class$="36"]{

-webkit-transform:rotateY(360deg)rotateZ(45deg)translateX(30px);

transform:rotateY(360deg)rotateZ(45deg)translateX(30px);

}

然后定义了一组名称为spin的HTML5动画:

@-webkit-keyframesspin {

to{

-webkit-transform:rotateY(360deg)rotateX(360deg);

transform:rotateY(360deg)rotateX(360deg);

}

}

@keyframesspin {

to{

-webkit-transform:rotateY(360deg)rotateX(360deg);

transform:rotateY(360deg)rotateX(360deg);

}

}

好了,以上分享的HTML5 3D爱心动画还不错吧,里面还可以加照片的哟!!今天刚好送给妈妈作为小小的礼物吧。

上一篇下一篇

猜你喜欢

热点阅读