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 ...
随机推荐
- HDU 4510
省一等,保研. #include <iostream> #include <cstdio> #include <cstring> #include <algo ...
- 为什么用clojure作为storm 的主要开发语言
Why you choose Clojure as the development language of Storm? Could you talk about your long practica ...
- AutoReplace in pl/sql developer
AutoReplace in pl/sql developer SL=SELECT S*=SELECT * FROM 2D=TO_DATE('2017-01-01 01:01:00','YYYY-MM ...
- hdoj 3488 Tour 【最小费用最大流】【KM算法】
Tour Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submi ...
- 关于View的ScrollTo, getScrollX 和 getScrollY
下载地址:源代码 当利用 Scroller 去滑动屏幕或者扩展 ScrollView 的时候,总是会用到 getScrollX 和 getScrollY 去获取当前View 滑动到的位置,那么getS ...
- instanceof运算符的使用
在之前的学习中,经常遇到instanceof运算符,对于它的用法总感觉理解不到位,所以专门总结一下它的用法加深理解. instanceof主要用来判断一个类是否实现了某个接口,或者判断一个实例对象是否 ...
- Cookies操作类
实现代码: //声名一个数据集合 var listString = new List<string>() { "a", "b", "c&q ...
- Hdu-6253 2017CCPC-Final K.Knightmare 规律
题面 题意:给你一个无限大的棋盘,一个象棋中的马,问你这个马,飞n步后,可能的位置有多少种? 题解:看到题,就想先打表试试,于是先写个暴力(枚举每个位置,是马就飞周围8个格子,注意不要在同个循环里把格 ...
- nginx配置访问密码,让用户输入用户名密码才能访问
如果我们在 nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问,那么我们可以设置访问认证.只有让用户输入正确的用户名和密码才能正常访问.效果如下: 在 ngi ...
- 使用multiprocessing解决PyMuPDF不支持多线程加载导致的界面卡死无响应问题,及一个PyQt5实现的简易PDF阅读器例子
最近在用PyMuPDF实现一个PDF阅读器,发现PyMuPDF在加载某些epub时耗时非常长,有的长达10几秒,会导致界面卡死无响应. 尝试用多线程后台加载,发现还是不能解决问题,和作者交流(issu ...