您现在的位置是:网站首页> 编程资料编程资料
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例html5+css3实现酷炫的3D立方体旋转动画特效源码CSS3 3D立方体效果示例-transform也不过如此纯css3实现的3D立方体旋转动画特效源码css3 transform及原生js实现鼠标拖动3D立方体旋转一款利用html5和css3实现的3D立方体旋转效果教程 纯CSS3实现的3D立方体旋转动画特效源码
2021-09-04
1070人已围观
简介 本篇文章主要介绍了3D立方体旋转动画实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文介绍了HTML5+CSS3 诱人的实例: 3D立方体旋转动画实例,具体如下
效果图:

知识点:
1、perspective ,transform 的复习
2、CSS3 backgroud实现格格背景,即面上的小格格
3、 @-webkit-keyframes 实现动画
HTML:
前面的3D商品展示中已经说过如何制作正方体,并且那个上面还有数字,理论上说比这个复杂,虽然木有这个炫~这里就不多说了。
CSS:
html { background: -webkit-radial-gradient(center, ellipse, #430d6d 0%, #000000 100%); background: radial-gradient(ellipse at center, #430d6d 0%, #000000 100%); height: 100%; } .stage { -webkit-perspective: 1000px; width: 20em; height: 20em; left: 50%; top: 50%; margin-left: -10em; margin-top: -10em; position: absolute; } .cube { position: absolute; width: 100%; height: 100%; -webkit-transform-style: preserve-3d; -webkit-transform: rotateX(-20deg) rotateY(-20deg); } .cube * { background: -webkit-linear-gradient(left, rgba(54, 226, 248, 0.5) 0px, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px), -webkit-linear-gradient(top, rgba(54, 226, 248, 0.5) 0px, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px); -webkit-background-size: 2.5em 2.5em; background-color: rgba(0, 0, 0, 0.5); position: absolute; width: 100%; height: 100%; border: 2px solid rgba(54, 226, 248, 0.5); -webkit-box-shadow: 0 0 5em rgba(0, 128, 0, 0.4); } .font { -webkit-transform: translateZ(10em); } .back { -webkit-transform: rotateX(180deg) translateZ(10em); } .left { -webkit-transform: rotateY(-90deg) translateZ(10em); } .right { -webkit-transform: rotateY(90deg) translateZ(10em); } .top { -webkit-transform: rotateX(90deg) translateZ(10em); } .bottom { -webkit-transform: rotateX(-90deg) translateZ(10em); } 同样:stage作为舞台,cube设置子元素的效果为3d,然后每个面都进行旋转和设置translateZ然后形成立方体。
为每个面设置backgroud设置小格格的代码:
background: -webkit-linear-gradient( left, rgba(54, 226, 248, 0.5) 0px, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px), -webkit-linear-gradient( top, rgba(54, 226, 248, 0.5) 0px, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px); -webkit-background-size: 2.5em 2.5em;
背景设置,从左到右的3像素的条条,从上到下的3像素的条条;然后设置背景大小为2.5em 2.5em ,然后将背景重复显示,效果如下(我添加了边框):

现在的完整效果:

可以看到立方体已经成型了,最后添加上动画就行了,不要觉得动画很复杂,其实很简单~
定义一个动画帧:
@-webkit-keyframes spin { from { -webkit-transform: translateZ(-10em) rotateX(0) rotateY(0deg); transform: translateZ(-10em) rotateX(0) rotateY(0deg); } to { -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg); transform: translateZ(-10em) rotateX(360deg) rotateY(360deg); } } 名字为spin,开始时 translateZ(-10em) rotateX(0) rotateY(0deg); 结束时 : translateZ(-10em) rotateX(360deg) rotateY(360deg); 即同时绕着x,y轴360度旋转。
最后给我们的立方体加上此animation属性:
.cube { -webkit-animation: 6s spin linear infinite; position: absolute; width: 100%; height: 100%; -webkit-transform-style: preserve-3d; -webkit-transform: rotateX(-20deg) rotateY(-20deg); } 设置时间为动画时间 6s , 动画 spin , 速度为匀速linear , 无限循环 infinite ;
关于更加细致的参数设置,可以参考w3cSchool~以后我也会写单独介绍CSS3的属性的博客~
好了,最终的效果就已经完成了~
对于原网站的样子,有点细微的差别:
因为它额外给每个面添加了一个径向渐变,那么我们添加上:
.cube *:before { display: block; background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0) 30%, rgba(0, 128, 0, 0.2) 100%); background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 30%, rgba(0, 128, 0, 0.2) 100%); content: ''; height: 100%; width: 100%; position: absolute; } 利用before这个伪元素,然后设置径向渐变~~现在终于一致了~
源码点击下载:demo
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- 绝对定位元素的水平垂直居中的方法(3种任选)CSS水平垂直居中的几种方法总结在excel表格中怎么水平垂直居中对齐?css让容器水平垂直居中的7种方式利用CSS3的flexbox实现水平垂直居中与三列等高布局Flexbox制作CSS布局实现水平垂直居中的简单实例ppt表格中的文字怎么设置水平居中或垂直居中?浅析CSS实现水平垂直同时居中的5种思路让DIV水平垂直居中的两种完美方法推荐CSS解决页面图片水平垂直居中问题的方法全面总结使用CSS实现水平垂直居中效果的方法
- 左侧固定,右侧自适应(两种方法任选)CSS左侧固定宽 右侧自适应的实现代码(兼容所有浏览器)左侧固定宽度,右侧自适应宽度的CSS布局
- 解析width:100%;与width:auto;的区别Css深刻理解width:auto的用法
- CSS3实现瀑布流布局与无限加载图片相册的实例代码3种方式实现瀑布流布局小结详解纯css实现瀑布流(multi-column多列及flex布局)css3 column实现卡片瀑布流布局的示例代码用CSS3实现瀑布流布局的示例代码瀑布流布局的两种实现方式:传统多列浮动和绝对定位布局waterfall瀑布流布局+动态渲染的实现
- 深入理解和应用css中Float属性详解css中的floatCSS重要属性之float学习心得(分享)css(display,float,position)深入理解老生常谈css中float的用法CSS使用float属性设置浮动元素的实例教程使用CSS的overflow属性防止float撑开div的方法CSS清除浮动float的三种方法小结
- 纯CSS实现3D按钮效果实例代码基于CSS Bootstrap超酷3D按钮特效源码CSS3实现扁平化风格3D按钮鼠标悬停按钮动画过渡特效源码 CSS3实现的支持单按钮和按钮组3D按钮效果源码纯CSS3实现简易3D按钮可配置背景颜色纯CSS3实现的3D开机按钮附有阴影以及光泽jquery+css3实现无图片的超帅3D按钮效果jQuery+CSS利用阴影实现的超酷3D按钮和文字特效
- 利用css代码实现纸飞机效果实例源码利用CSS实现书签效果实例源码纯css3实现的圆形从中心向四周扩散动画效果源码使用CSS3实现一个3D相册效果实例纯CSS3实现鼠标悬停卡片翻转切换特效源码CSS3实现文字波浪线效果示例代码CSS3 2D模拟实现摩天轮旋转效果css3基于svg绘制的唐老鸭图片样式效果源码CSS3实现同时执行倾斜和旋转的动画效果CSS3实现个性可爱的甜品店动画幻灯片切换特效源码CSS3点击按钮实现背景渐变动画效果
- 用CSS属性transparent实现各种三角形示例代码 css 中的background:transparent到底是什么意思有什么作用利用css绘制三角形的方法及拓展CSS3 画基本图形,圆形、椭圆形、三角形等DIV+CSS实现带三角箭头的提示框 用CSS制作三角形和按钮的简单实例CSS仿网易首页的头部菜单栏按钮和三角形制作方法利用CSS伪元素创建带三角形的提示框的实现方法纯CSS绘制三角形箭头图案技术解析Html+CSS绘制三角形图标使用CSS实现小三角形效果【附实例】
- 利用CSS实现书签效果实例源码CSS3+DIV实现漂亮的动画彩色标签纯JS和CSS3炫酷桌面便签贴纸特效源码CSS基础教程十九之CSS图文混排,图像签名,多图拼接和图片特效 纯CSS实现Tab切换标签效果代码用CSS中的map标签制作单图多区域点击的示例HTML5 SVG和CSS3实现的表单浮动标签特效源码css3基于svg实现的地球旋转动画特效源码用CSS设定一个元素半透明Css3新特性应用之视觉效果实例纯css3实现的圆形从中心向四周扩散动画效果源码
- 详解CSS3浏览器兼容关于老式浏览器兼容HTML5和CSS3的问题css3强大的动画效果animate使用说明及浏览器兼容介绍
