之前有看到過很多基于HTML5或者CSS3制作的愛心動畫,不過基本上都是2D平面的照瘾,今天在國外的網(wǎng)站上看到一個(gè)基于HTML5 3D的愛心動畫户敬,對于HTML5愛好者來說,不免興奮了一把餐屎。下面將分享一下這個(gè)3D愛心動畫的實(shí)現(xiàn)過程,可以一起來看看玩祟。
當(dāng)然你也可以先看一下DEMO演示
這么好看的HTML5愛心動畫腹缩,我們當(dāng)然要把源代碼分享給大家,下面是小編整理的源代碼空扎,主要是HTML代碼和CSS代碼藏鹊。
如果你對編程感興趣或者想往編程方向發(fā)展,可以關(guān)注微信公眾號【筑夢編程】转锈,大家一起交流討論盘寡!小編也會每天定時(shí)更新既有趣又有用的編程知識!
HTML代碼:
這么多div撮慨,主要是構(gòu)造愛心的線條區(qū)域竿痰。
下面是CSS3代碼,對這些線條進(jìn)行渲染砌溺,以便其有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愛心動畫還不錯(cuò)吧抚吠,里面還可以加照片的喲33薄!今天剛好送給媽媽作為小小的禮物吧楷力。