美文网首页编程语言爱好者
母亲节做一个3D爱心动画送给妈妈做礼物呀

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

作者: 编程鸭 | 来源:发表于2019-05-12 16:56 被阅读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爱心动画还不错吧,里面还可以加照片的哟!!今天刚好送给妈妈作为小小的礼物吧。

    相关文章

      网友评论

        本文标题:母亲节做一个3D爱心动画送给妈妈做礼物呀

        本文链接:https://www.haomeiwen.com/subject/ejgcaqtx.html