一款利用html5和css3实现的3D滚动特效的教程


Posted in HTML / CSS onJanuary 04, 2015

今天给大家带来一款html5和css3实现的3D滚动特效。效果图如下:

一款利用html5和css3实现的3D滚动特效的教程

实现的代码。

html代码:

XML/HTML Code复制内容到剪贴板
  1. <div class="container">  
  2.         <div class="cube">  
  3.             <div class="side side1">  
  4.             </div>  
  5.             <div class="side side2">  
  6.             </div>  
  7.             <div class="side side3">  
  8.             </div>  
  9.             <div class="side side4">  
  10.             </div>  
  11.             <div class="side side5">  
  12.             </div>  
  13.             <div class="side side6">  
  14.             </div>  
  15.         </div>  
  16.     </div>  
  17.     <div class="container container2">  
  18.         <div class="cube">  
  19.             <div class="side side1">  
  20.             </div>  
  21.             <div class="side side2">  
  22.             </div>  
  23.             <div class="side side3">  
  24.             </div>  
  25.             <div class="side side4">  
  26.             </div>  
  27.             <div class="side side5">  
  28.             </div>  
  29.             <div class="side side6">  
  30.             </div>  
  31.         </div>  
  32.     </div>  

css3代码:

CSS Code复制内容到剪贴板
  1. body{   
  2.   height:100vh;   
  3. }   
  4. .container{   
  5.   position:absolute;   
  6.   height:100px;   
  7.   width:100px;   
  8.   left:33%;   
  9.   top:50%;   
  10.   -webkit-transform: translateX(-50%) translateY(-50%);   
  11.           transform: translateX(-50%) translateY(-50%);   
  12.   -webkit-perspective:400px;   
  13.           perspective:400px;   
  14. }   
  15. .cube{   
  16.   height:100px;   
  17.   widht:100px;   
  18.   -webkit-transform-origin:50% 50%;   
  19.           transform-origin:50% 50%;   
  20.   -webkit-transform-style:preserve-3d;   
  21.           transform-style:preserve-3d;   
  22.   -webkit-animation:rotate 4s infinite ease-in-out;   
  23.           animation:rotate 4s infinite ease-in-out;   
  24.   
  25. }   
  26. .side{   
  27.   position:absolute;   
  28.   display:block;   
  29.   height:100px;   
  30.   width:100px;   
  31. }   
  32. .side1{   
  33.   background:#41C3AC;   
  34.   -webkit-transform:translateZ(100px);   
  35.           transform:translateZ(100px);   
  36. }   
  37. .side2{   
  38.   background:#FF884D;   
  39.   -webkit-transform:rotateY(90deg) translateZ(100px);   
  40.           transform:rotateY(90deg) translateZ(100px);   
  41. }   
  42. .side3{   
  43.   background:#32526E;   
  44.   -webkit-transform:rotateY(180deg) translateZ(100px);   
  45.           transform:rotateY(180deg) translateZ(100px);   
  46. }   
  47. .side4{   
  48.   background:#65A2C5;   
  49.   -webkit-transform:rotateY(-90deg) translateZ(100px);   
  50.           transform:rotateY(-90deg) translateZ(100px);   
  51. }   
  52. .side5{   
  53.   background:#FFCC5C;   
  54.   -webkit-transform:rotateX(90deg) translateZ(100px);   
  55.           transform:rotateX(90deg) translateZ(100px);   
  56. }   
  57. .side6{   
  58.   background:#FF6B57;   
  59.   -webkit-transform:rotateX(-90deg) translateZ(100px);   
  60.           transform:rotateX(-90deg) translateZ(100px);   
  61. }   
  62.   
  63. @-webkit-keyframes rotate{   
  64.   0%{   
  65.     -webkit-transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg);   
  66.   }   
  67.   33.33%{   
  68.      -webkit-transform:rotateX(360deg) rotateY(0deg)  rotateZ(0deg);       
  69.   }   
  70.   66.66%{   
  71.      -webkit-transform:rotateX(360deg) rotateY(360deg)  rotateZ(0deg);   
  72.   }   
  73.   100%{   
  74.      -webkit-transform:rotateX(360deg) rotateY(360deg)  rotateZ(360deg);   
  75.   }   
  76. }   
  77. @keyframes rotate{   
  78.   0%{   
  79.     transform:rotateX(0deg) rotateY(0deg);   
  80.   }   
  81.   50%{   
  82.     transform:rotateX(360deg) rotateY(0deg);       
  83.   }   
  84.   100%{   
  85.     transform:rotateX(360deg) rotateY(360deg);   
  86.   }   
  87. }   
  88. a{   
  89.   font-family:helvetica;   
  90.   color:#428bca;   
  91.   text-align:center;   
  92.   display:block;   
  93. }   
  94.   
  95. .container2{   
  96.   left:66%;   
  97. }   
  98. .container2 .side{   
  99.   border-radius:50%;   
  100. }  
HTML / CSS 相关文章推荐
CSS3 3D制作实战案例分析
Sep 18 HTML / CSS
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
Oct 10 HTML / CSS
css3实现wifi信号逐渐增强效果实例
Aug 09 HTML / CSS
10分钟入门CSS3 Animation
Dec 25 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
Mar 29 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
Sep 02 HTML / CSS
深入解析HTML5中的Blob对象的使用
Sep 08 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
Jan 03 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
May 13 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
May 08 HTML / CSS
h5移动端调用支付宝、微信支付的实现
Jun 08 HTML / CSS
CSS布局之浮动(float)和定位(position)属性的区别
Sep 25 HTML / CSS
一款基于css3的列表toggle特效实例教程
Jan 04 #HTML / CSS
一款基于css3麻将筛子3D翻转特效的实例教程
Dec 31 #HTML / CSS
CSS Grid布局教程之网格单元格布局
Dec 30 #HTML / CSS
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
Dec 30 #HTML / CSS
CSS Grid布局教程之什么是网格布局
Dec 30 #HTML / CSS
使用CSS Grid布局实现网格的流动
Dec 30 #HTML / CSS
纯css3制作网站后台管理面板
Dec 30 #HTML / CSS
You might like
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
Python中装饰器高级用法详解
2017/12/25 Python
解决DataFrame排序sort的问题
2018/06/07 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
python 创建一维的0向量实例
2019/12/02 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
11月红领巾广播稿
2014/01/17 职场文书
保护环境建议书300字
2014/05/13 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL