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

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

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

HTML代码:

<div class=’heart3d’>
<div class=’rib1′></div>
<div class=’rib2′></div>
<div class=’rib3′></div>
<div class=’rib4′></div>
<div class=’rib5′></div>
<div class=’rib6′></div>
<div class=’rib7′></div>
<div class=’rib8′></div>
<div class=’rib9′></div>
<div class=’rib10′></div>
<div class=’rib11′></div>
<div class=’rib12′></div>
<div class=’rib13′></div>
<div class=’rib14′></div>
<div class=’rib15′></div>
<div class=’rib16′></div>
<div class=’rib17′></div>
<div class=’rib18′></div>
<div class=’rib19′></div>
<div class=’rib20′></div>
<div class=’rib21′></div>
<div class=’rib22′></div>
<div class=’rib23′></div>
<div class=’rib24′></div>
<div class=’rib25′></div>
<div class=’rib26′></div>
<div class=’rib27′></div>
<div class=’rib28′></div>
<div class=’rib29′></div>
<div class=’rib30′></div>
<div class=’rib31′></div>
<div class=’rib32′></div>
<div class=’rib33′></div>
<div class=’rib34′></div>
<div class=’rib35′></div>
<div class=’rib36′></div>
</div>

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

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

.heart3d {
position: absolute;
top:;
right:;
bottom:;
left:;
margin: auto;
width: 100px;
height: 160px;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-animation: spin 15s infinite linear;
animation: spin 15s infinite linear;
}
.heart3d [class^="rib"] {
position: absolute;
width: 100px;
height: 160px;
border: solid #f22613;
border-width: 1px 1px 0 0;
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-keyframes spin {
to {
-webkit-transform: rotateY(360deg) rotateX(360deg);
transform: rotateY(360deg) rotateX(360deg);
}
} @keyframes spin {
to {
-webkit-transform: rotateY(360deg) rotateX(360deg);
transform: rotateY(360deg) rotateX(360deg);
}
}

好了,以上分享的HTML5 3D爱心动画还不错吧,送给你女朋友作为小小的礼物吧。源代码下载>>

HTML5 3D爱心动画及其制作过程的更多相关文章

  1. HTML5 3D爱心动画 晚来的七夕礼物

    在线演示源码下载 这么好看的HTML5爱心动画,我们当然要把源代码分享给大家,下面是小编整理的源代码,主要是HTML代码和CSS代码. HTML代码: <div class=’heart3d’& ...

  2. 9个超绚丽的HTML5 3D图片动画特效

    在Web 1.0时代,我们的网页中图片数量非常少,而且都是以静态图片为主.HTML5的出现,推动了Web 2.0的发展,同时也催生出了很多绚丽的HTML5图片动画特效,特别是有些还有3D的动画效果.本 ...

  3. 8款超酷的HTML5 3D图片动画源码

    1.HTML5移动端图片左右切换动画 今天要给大家分享一款很不错的图片左右切换焦点图动画,并且支持移动端触摸滑动.功能上,这款HTML5图片播放器支持鼠标滑动.手机端触摸滑动以及自动播放.外观上,这款 ...

  4. HTML5 3D动画效果

    对以前来讲,3D动画拿到网页上展示是一件非常奢侈的事情,第一是浏览器不够先进,第二是大部分只能用flash实现伪3D.HTML5的出现,让实现网页3D动画变得非常简单,当然前提是你不要再使用像IE67 ...

  5. 7款超酷HTML5 3D动画精选应用及源码

    对以前来讲,3D动画拿到网页上展示是一件非常奢侈的事情,第一是浏览器不够先进,第二是大部分只能用flash实现伪3D.HTML5的出现,让实现网页3D动画变得非常简单,当然前提是你不要再使用像IE67 ...

  6. 8款效果惊艳的HTML5 3D动画

    1.HTML5 WebGL水面水波荡漾特效 之前已经向各位分享过一款很逼真的HTML5水波荡漾特效,效果还算不错.今天再向大家分享一款更加给力的HTML5水波动画,画面上是一个大水池,水池底部是一颗大 ...

  7. 超给力的HTML5 3D动画欣赏及源码下载

    HTML5有着非常巨大的魅力,尤其是CSS3和Cavnas,可以帮助页面渲染得非常炫酷.值得一提的是,利用HTML5的3D特性可以帮助你更加方便地在网页上实现3D动画特效.本文分享的这些HTML5 3 ...

  8. [Mugeda HTML5技术教程之12]制作跨屏互动应用

    mugeda动画平台还可以用来制作跨屏互动的动画应用,比如在PC端的大屏幕上显示动画的主界面,同时会显示出供手机扫描的二维码,手机扫描后会在手机上显示手机端动画界面.通过手机就可以和PC端的显示界面跨 ...

  9. [Mugeda HTML5技术教程之19]制作可定制贺卡

    本文档通过一个实例介绍可定制贺卡的动画的制作过程.实例包含两部分: 1. 动画部分:介绍动画制作过程中如何给祝福词和落款的文本对象命名,如何给定制按钮定义表单动作. 2. 代码部分:介绍贺卡的脚本逻辑 ...

随机推荐

  1. C#对DataTable里数据筛选排序的方法

    在日常开发过程中,有一个DataTable集合,里面有很多字段,现在要求针对某一列进行排序,如果该列为数字的话,进行ASC即可实现,但是该字段类型为string,此时排序就有点不正确了 protect ...

  2. HTML <meta> 标签 和 http-equiv

    前言 经常在写HTML,但是对于meta 的设置却一直疏于关注. <meta> 是什么 <meta> 是一个HTML的标签(辅助性标签). 它的位置位于文档的头部  <h ...

  3. LeetCode: Binary Search Tree Iterator 解题报告

    Binary Search Tree Iterator Implement an iterator over a binary search tree (BST). Your iterator wil ...

  4. 2. 感知机(Perceptron)基本形式和对偶形式实现

    1. 感知机原理(Perceptron) 2. 感知机(Perceptron)基本形式和对偶形式实现 3. 支持向量机(SVM)拉格朗日对偶性(KKT) 4. 支持向量机(SVM)原理 5. 支持向量 ...

  5. [转]Tomcat启动报错:AnnotationConfigBeanDefinitionParser are only available on JDK 1.5 and higher

    原文地址:https://blog.csdn.net/daochuwenziyao/article/details/54949151 问题描述: 控制台输出AnnotationConfigBeanDe ...

  6. spring mvc之请求过程源码分析

    简介 上一篇,我们分析了spring mvc启动过程的源码,这一节,来一起分析下在用户请求controller的过程中,spring mvc做了什么事? 一.准备 我写这么一个controller p ...

  7. WPF System.InvalidCastException: 无法将类型为“System.Windows.Media.Color”的对象强制转换为类型“System.Windows.Media.Brush”。

    场景:添加ComboBox样式,界面卡死,日志异常文件如下: -- ::, | ERROR | System.InvalidCastException: 无法将类型为“System.Windows.M ...

  8. am335x 配置 GPIO 为可输入也可输出

    主要配置设备树如下模式即可 0x1AC (PIN_INPUT_PULLUP | MUX_MODE7)

  9. .net 循环引用是否会造成内存泄漏

    一直想做这么一个测试,人和手的测试.类型"人"有一个属性"手",需要"手"也可以读取"人"的数据.则"手&qu ...

  10. Extjs4.2 Tree使用技巧小结demo

    本案例使用了Ext.Tree.Panel的如下知识点: 1.刷新.重新加载Tree,定位到上次的节点位置 2.Tree的右键操作 3.Extjs4.x Tree获取当前选中的节点 4.新增.修改.删除 ...