css3 3d 魔方
<style><!--
@charset "UTF-8"; * { margin: 0; padding: 0 } html,body{ width: 100%; height: 100%;
}
.container { text-align: center; margin: 50px auto; width: 200px;
}
.cube { transform-style: preserve-3d; -webkit-transform-origin: 54px 54px 54px; -moz-transform-origin: 54px 54px 54px; -ms-transform-origin: 54px 54px 54px; -o-transform-origin: 54px 54px 54px; transform-origin: 54px 54px 54px; -webkit-animation: cube ease-in-out 6s infinite forwards; -o-animation: cube ease-in-out 6s infinite forwards; animation: cube ease-in-out 6s infinite forwards;
} @keyframes cube { from, to {
} 16% { transform: rotatey(-90deg);
} 33% { transform: rotatey(-90deg) rotatez(135deg);
} 50% { transform: rotatey(225deg) rotatez(135deg);
} 66% { transform: rotatey(135deg) rotatex(135deg);
} 83% { transform: rotatex(135deg);
}
}
.page { width: 108px; height: 108px; position: absolute;
}
.page .row { width: 108px; height: 36px; float: left;
}
.page span { display: inline-block; width: 30px; height: 30px; border: 3px solid #000; border-radius: 5px;
}
.up { -webkit-transform: translateY(54px) rotateX(90deg); -moz-transform: translateY(54px) rotateX(90deg); -ms-transform: translateY(54px) rotateX(90deg); -o-transform: translateY(54px) rotateX(90deg); transform: translateY(54px) rotateX(90deg);
}
.down { -webkit-transform: translateY(-54px) rotateX(-90deg); -moz-transform: translateY(-54px) rotateX(-90deg); -ms-transform: translateY(-54px) rotateX(-90deg); -o-transform: translateY(-54px) rotateX(-90deg); transform: translateY(-54px) rotateX(-90deg);
}
.front { -webkit-transform: translateZ(54px); -moz-transform: translateZ(54px); -ms-transform: translateZ(54px); -o-transform: translateZ(54px); transform: translateZ(54px);
}
.back { -webkit-transform: translateZ(-54px); -moz-transform: translateZ(-54px); -ms-transform: translateZ(-54px); -o-transform: translateZ(-54px); transform: translateZ(-54px);
}
.left { -webkit-transform: translateX(-54px) rotateY(-90deg); -moz-transform: translateX(-54px) rotateY(-90deg); -ms-transform: translateX(-54px) rotateY(-90deg); -o-transform: translateX(-54px) rotateY(-90deg); transform: translateX(-54px) rotateY(-90deg);
}
.right { -webkit-transform: translateX(54px) rotateY(90deg); -moz-transform: translateX(54px) rotateY(90deg); -ms-transform: translateX(54px) rotateY(90deg); -o-transform: translateX(54px) rotateY(90deg); transform: translateX(54px) rotateY(90deg);
} span.white { background: white } span.yellow { background: yellow } span.blue { background: blue } span.green { background: green } span.orange { background: orange } span.red { background: red }
--></style>
<!-- 上黄下白 前蓝后绿 左橙右红 -->
<div id="container" class="container">
<div id="cube" class="cube">
<div id="up" class="page up">
<div class="row row1"><span class="yellow"></span><span class="yellow"></span><span class="yellow"></span></div>
<div class="row row2"><span class="yellow"></span><span class="yellow"></span><span class="yellow"></span></div>
<div class="row row3"><span class="yellow"></span><span class="yellow"></span><span class="yellow"></span></div>
</div>
<div id="down" class="page down">
<div class="row row1"><span class="white"></span><span class="white"></span><span class="white"></span></div>
<div class="row row2"><span class="white"></span><span class="white"></span><span class="white"></span></div>
<div class="row row3"><span class="white"></span><span class="white"></span><span class="white"></span></div>
</div>
<div id="front" class="page front">
<div class="row row1"><span class="blue"></span><span class="blue"></span><span class="blue"></span></div>
<div class="row row2"><span class="blue"></span><span class="blue"></span><span class="blue"></span></div>
<div class="row row3"><span class="blue"></span><span class="blue"></span><span class="blue"></span></div>
</div>
<div id="back" class="page back">
<div class="row row1"><span class="green"></span><span class="green"></span><span class="green"></span></div>
<div class="row row2"><span class="green"></span><span class="green"></span><span class="green"></span></div>
<div class="row row3"><span class="green"></span><span class="green"></span><span class="green"></span></div>
</div>
<div id="left" class="page left">
<div class="row row1"><span class="orange"></span><span class="orange"></span><span class="orange"></span></div>
<div class="row row2"><span class="orange"></span><span class="orange"></span><span class="orange"></span></div>
<div class="row row3"><span class="orange"></span><span class="orange"></span><span class="orange"></span></div>
</div>
<div id="right" class="page right">
<div class="row row1"><span class="red"></span><span class="red"></span><span class="red"></span></div>
<div class="row row2"><span class="red"></span><span class="red"></span><span class="red"></span></div>
<div class="row row3"><span class="red"></span><span class="red"></span><span class="red"></span></div>
</div>
</div>
</div>
css3 3d 魔方的更多相关文章
- css3之3D魔方动画(小白版)
在这里分享一下3D魔方动画,html5+CSS3即可完成~无图无真相,先上效果图 第一步非常简单,就是先将魔方的结构画出来.大家都玩过魔方,知道魔方是一个有六个面的正方体.这里我们先写一个大的di ...
- 如何用CSS3画出懂你的3D魔方?
作者:首席填坑官∙苏南公众号:honeyBadger8,群:912594095,本文原创,著作权归作者所有,转载请注明原链接及出处. 前言 最近在写<每周动画点点系列>文章,上一期分享了& ...
- css3 3d学习心得
css3 3d学习心得 卡片反转 魔方 banner图 首先我们要学习好css3 3d一定要有一定的立体感 通过这个图片应该清楚的了解到了x轴 y轴 z轴是什么概念了. 首先先给大家看一个小例子: 卡 ...
- 一篇文章搞定css3 3d效果
css3 3d学习心得 卡片反转 魔方 banner图 首先我们要学习好css3 3d一定要有一定的立体感 通过这个图片应该清楚的了解到了x轴 y轴 z轴是什么概念了. 首先先给大家看一个小例子: 卡 ...
- CSS3 3D的总结(初学者易懂)
CSS3 3D案例的总结 如果要说是3D的基础概念,首先我就来说一说rotateX().rotateY().rotateZ()这几个属性 rotateX():对应的是3D模型中的X轴上的旋转,传入的参 ...
- CSS3实现魔方动画
本文将借助css3实现魔方动画效果,设计思路如下: HTML方面采用六个div容器形成六个立方面: CSS方面采用transform-style: preserve-3d;形成三维场景:transfo ...
- 【Web动画】CSS3 3D 行星运转 && 浏览器渲染原理
承接上一篇:[CSS3进阶]酷炫的3D旋转透视 . 最近入坑 Web 动画,所以把自己的学习过程记录一下分享给大家. CSS3 3D 行星运转 demo 页面请戳:Demo.(建议使用Chrome打开 ...
- 纯css3 3D图片立方体旋转动画特效
纯css3 3D立方体模块,鼠标触碰,模块炸开,大立方体中套小立方体 效果展示 手机扫描二维码体验效果: 效果图如下: 源码下载:http://hovertree.com/h/bjaf/0qmul8g ...
- CSS3 3D轮播主要可以分成这样的三类
中秋节假期这么快就没了,这几天还一直下雨,索性在家看看书.这次看的是Tom Lane的<A Tour of PostgreSQL Internals>.这篇小随笔就算做学习笔记了.园子里面 ...
- css3 3D旋转效果
css3 record2 css3 3D旋转效果 需理解transform css3知识: keyframes transform perspective jsfiddle demo keyframe ...
随机推荐
- NYOJ 一笔画问题 欧拉路
一笔画问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...
- [bzoj4487][Jsoi2015]染色_容斥原理
染色 bzoj-4487 Jsoi-2015 题目大意:给你一个n*m的方格图,在格子上染色.有c中颜色可以选择,也可以选择不染.求满足条件的方案数,使得:每一行每一列都至少有一个格子被染色,且所有的 ...
- ZOJ 3527
这题难在破环. 对于不是环的情况,只需按照一般的树形DP来做,一步一步往根递推就可以了.对于环,则枚举其中一点的两种情况,取或不取,然后再递推,就可以了.当到达某结点的下一结点为环开始的点时,退出即可 ...
- Marching squares & Marching cubes
提要 Marching squares 主要是用于从一个地图(用二维数组表示)生成轮廓的算法.Marching cubes则相应的是在空间生成网格的方法.最常见的应用就是天气预报中气压图的生成.还经常 ...
- Narrow Art Gallery
Time Limit: 4000ms, Special Time Limit:10000ms, Memory Limit:65536KB Total submit users: 11, Accepte ...
- 【cl】eclipse配置svn
查看Eclipse版本号 http://jingyan.baidu.com/article/020278118660e81bcd9ce545.html Window>preferences输入S ...
- 什么是A记录、MX记录、CNAME记录具体介绍
什么是A记录: A (Address) 记录是用来指定主机名(或域名)相应的IP地址记录.用户能够将该域名下的站点服务器指向到自己的web server上. 同一时候也能够设置域名的子域名. 通俗来说 ...
- Linux 定时任务的学习
名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab. crontab-[-u user]-用标准输入替 ...
- PlayerPrefs存储Vector3等结构数据
孙广东 2016.3.31 之前有网友询问这个问题, 当时我仅仅是 提供了一个思路, 使用json序列化.反序列化. 以下就写出两种(都是仅仅能变成字符串) 1.json的序列化.反序列化方 ...
- Linux中修改系统时间
#date //显示当前日期 #date -s //设置当前时间,只有root权限才能设置,其他只能查看. #date -s 20061010 //设置成20061010,这样会把具体时间设置成空00 ...