<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#box{
width:200px;
height:200px;
margin:100px auto;
transform:perspective(800px) rotateY(0deg) rotateX(0deg);
transform-style: preserve-3d;
}
#box div{
position: absolute;
top:0;
left:0;
width:200px;
height:200px;
}
#box .face{
background: yellow;
transform:translateZ(100px);
}
#box .back{
background: #996;
transform:translateZ(-100px);
}
#box .top{
background: #234;
transform:translateY(-100px) rotateX(-90deg);
}
#box .bottom{
background: green;
transform:translateY(100px) rotateX(-90deg);
}
#box .left{
background: blue;
transform:translateX(-100px) rotateY(90deg);
}
#box .right{
background: pink;
transform:translateX(100px) rotateY(90deg);
}
/* #box:hover{
transform:perspective(800px) rotateY(360deg) rotateX(360deg);
} */
</style>
<script>
window.onload=function(){
var oBox=document.getElementById('box');
var bLeft=false;
var bRight=false;
var bTop=false;
var bBottom=false;
//初始值
var x=0; //x轴旋转角度
var y=0;//y轴旋转角度
//键盘
/*document.onkeydown=function(ev){
//打开开关
switch(ev.keyCode){
case 37:
bLeft=true;
break;
case 38:
bTop=true;
break;
case 39:
bRight=true;
break;
case 40:
bBottom=true;
break;
}
};
document.onkeyup=function(ev){
//打开开关
switch(ev.keyCode){
case 37:
bLeft=false;
break;
case 38:
bTop=false;
break;
case 39:
bRight=false;
break;
case 40:
bBottom=false;
break;
}
}; setInterval(function(){
if(bLeft){
y-=4;
}
if(bBottom){
x-=4;
}
if(bTop){
x+=4;
}
if(bRight){
y+=4;
}
oBox.style.transform='perspective(800px) rotateY('+y+'deg) rotateX('+x+'deg)'
},30)*/
//鼠标
document.onmousedown=function(ev){
var disX=ev.clientX-y;
var disY=ev.clientY-x;
document.onmousemove=function(ev){
x=disY-ev.clientY;
y=ev.clientX-disX;
oBox.style.transform='perspective(800px) rotateY('+y+'deg) rotateX('+x+'deg)'
};
document.onmouseup=function(){
document.onmouseup=null;
document.onmousemove=null;
};
return false;
};
};
</script>
</head>
<body>
<div id="box">
<div class="face"></div>
<div class="back"></div>
<div class="top"></div>
<div class="bottom"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>

css3实现立方体的旋转功能的更多相关文章

  1. 第102天:CSS3实现立方体旋转

    CSS3实现立方体旋转 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  2. css3通过scale()实现放大功能、通过rotate()实现旋转功能

    css3通过scale()实现放大功能.通过rotate()实现旋转功能,下面有个示例,大家可以参考下 通过scale()实现放大功能 通过rotate()实现旋转功能 而transition则可设置 ...

  3. css3实现头像旋转功能(超easy!!!)

    简单好玩的头像旋转功能 html结构 <body> <img src="https://a-ssl.duitang.com/uploads/item/201604/29/2 ...

  4. 纯css3实现的圆形旋转分享按钮

    之前已经为大家介绍了好几款css3按钮,今天要为大家介绍的是一款纯css3实现的圆形旋转分享按钮.旋转的角度可以自己调整.在demo中演示了三个角度旋转.360度,60度,-360度.如图: 在线预览 ...

  5. 一款基于css3鼠标经过圆形旋转特效

    今天给大家分享一款基于css3鼠标经过圆形旋转特效.当鼠标经过的时候图片边框颜色旋转,图片显示详情.该实例适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗 ...

  6. CSS3实现3D木块旋转动画

    CSS3实现3D木块旋转动画,css3特效,旋转动画,3D,立体效果,CSS3实现3D木块旋转动画是一款迷人的HTML5+CSS3实现的3D旋转动画. 代码下载:http://www.huiyi8.c ...

  7. WPF中使用AxisAngleRotation3D实现CAD的2D旋转功能

    原文:WPF中使用AxisAngleRotation3D实现CAD的2D旋转功能       对于CAD图形来说,3D旋转比较常用,具体实现方法在上篇文章<WPF中3D旋转的实现 >中做了 ...

  8. vue项目中图片预览旋转功能

    最近项目中需要在图片预览时,可以旋转图片预览,在网上找了下,发现有一款功能强大的图片组件:viewerjs. git-hup: https://github.com/fengyuanchen/view ...

  9. 用css3实现摩天轮旋转的动画效果

    用css3实现摩天轮旋转的动画效果 1.CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes 规则.@keyframes 规则用于创建动画.在 @keyf ...

随机推荐

  1. Echarts图表控件使用总结1(Line,Bar)

    问题篇(详解):http://www.cnblogs.com/hanyinglong/p/4708337.html 1.前言 a.在系统开发过程中可能会使用到图表控件,一个好的图标控件可以使我们的网站 ...

  2. H5前端面试题及答案(1)

    前几天去面试了一家公司,整下改公司的面试题. 1.新的 HTML5 文档类型和字符集是? HTML5 文档类型很简单: <!doctype html> HTML5 使用 UTF-8 编码示 ...

  3. 选择Web API还是WCF

    ASP.NET WCF是.NET平台服务开发的一站式框架,那么为什么还要有ASP.NET Web API呢?简单来说,ASP.NET Web API的设计和构建只考虑了一件事情,那就是HTTP,而WC ...

  4. CSS3选择器(一)

    E[att^='val'] 选择属性值以val开头的任何字符 E[att$='val'] 选择属性值以val结尾的任何字符 E[att*='val'] 选择属性值包含val的任何字符 :root HT ...

  5. Ajax基本知识

    1.创建xhr对象 var xmlhttp; if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari x ...

  6. storm学习途径

    作者: xumingming | 网址: http://xumingming.sinaapp.com/category/storm/  作者:量子恒道 | 网址:http://blog.linezin ...

  7. JSON/XML格式化插件比较

    一.引子 Chrome工具里面有很多json格式化的插件,可以让杂乱的json内容变得有序,我们先来看看效果: 正常情况下: 格式化后: 规整多了吧! 二.工具分享+比对 1.JSON Formatt ...

  8. 安卓开发-See the log file\.metadata\.log.

    今天在给安卓项目res-valus-string.xml 中字符串修改的时候,突然eclipse卡住了 然后任务管理器关掉之后,重新打开 显示一个错误 百度了一下 eclipse启动报错,让查看.me ...

  9. Python数据结构与算法--List和Dictionaries

    Lists 当实现 list 的数据结构的时候Python 的设计者有很多的选择. 每一个选择都有可能影响着 list 操作执行的快慢. 当然他们也试图优化一些不常见的操作. 但是当权衡的时候,它们还 ...

  10. IT技术很好的视频网址

    1.华为工程师 带你实战C++ 2.vimoe,国外的,需要FQ哦.https://vimeo.com/85831438