用CSS3的transform来做一个立方体
更新下:好久没用博客园了,今天为了点赞别人的文章又登录了,谢谢chrome帮我记住了账号密码,下面这个效果之前自己已经实现了,分享个演示地址:https://codepen.io/nooby/pen/vKogZB
有一次上数据结构课老师布置了一个用队列的思想通过js和Html来做一个“跳舞配对”的网页,当时那个跳舞的部分用了css3里面transform的相关属性做了个个让图片无限翻转的效果,可能正是由于这个效果,让我想到了--可以不可以通过transform来弄个3D的立方体呢?后来慢慢的去做,遇到好多问题,下面把这次小尝试记录下,等到日后有灵感再去弄。。。
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
#main{
width: 500px;
height: 500px;
margin:150px auto;
position: absolute;
transform-style: preserve-3d;
left:40%;
perspective: 1500px;
}
img{
width:240px;
height:150px;
position: absolute;
}
img:nth-child(1){
transform:rotateY(30deg) translateZ(120px);
-webkit-transform: rotateY(30deg) translateZ(120px);
-moz-transform: rotateY(30deg) translateZ(120px);
}
img:nth-child(2){
transform:rotateY(120deg) translateZ(120px);
-webkit-transform: rotateY(120deg) translateZ(120px);
-moz-transform: rotateY(120deg) translateZ(120px);
}
img:nth-child(3){
transform:rotateY(210deg) translateZ(120px);
-webkit-transform: rotateY(210deg) translateZ(120px);
-moz-transform: rotateY(210deg) translateZ(120px);
}
img:nth-child(4){
transform:rotateY(300deg) translateZ(120px);
-webkit-transform: rotateY(300deg) translateZ(120px);
-moz-transform: rotateY(300deg) translateZ(120px);
}
</style>
<script>
// var r=120 / Math.tan(45/ 180 * Math.PI);//计算translate的值
/*window.onload=function f(){
var oImg=document.getElementsByTagName("img");
for(var i=0;i<oImg.length;i++){
oImg[i].style.transform=rotateY(0,30+i*90+'deg');
}
}*/
</script>
</head>
<body>
<div id="main">
<img src="Images/a.jpg">
<img src="Images/f.jpg">
<img src="Images/c.jpg">
<img src="Images/d.jpg">
</div>
</body>
</html>
问题1、在chrome浏览器里面和ie浏览器里面的效果不同
问题2、不知道怎么加上两个“盖子”
问题3、想通过js来控制rotateY()以实现转动变换的效果,发现用普通获取属性的方法获取不了rotateY()(见注释处)
。。。
希望知道上面的问题怎么解决的博友们不吝赐教哈,谢谢!
用CSS3的transform来做一个立方体的更多相关文章
- 利用CSS3的transform 3D制作的立方体旋转效果
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 关于CSS3中transform变换的小坑
2017年6月30日15:05:46 今天在写一个demo的时候,发现CSS3中transform变换的一个特性. 首先,我先描述一下我发现的情况(问题再现): <div class=" ...
- 好吧,CSS3 3D transform变换,不过如此!
一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...
- 好吧,CSS3 3D transform变换,不过如此!——张鑫旭
一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...
- CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)
CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate) 在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾 ...
- HTML5之CSS3 3D transform 剖析式学习之一
最近坐地铁发现“亚洲动物基金”在地铁上做了很多公益广告,比较吸引人的是一个月熊的广告.做的很可爱.回去就搜了一下,发现这个网站是HTML5做的,非常炫. 所以想学习一下,方法就是传统的学习办法,模仿. ...
- CSS3 2D Transform
在 一个二维或三维空间,元素可以被扭曲.移位或旋转.只不过2D变形工作在X轴和Y轴,也就是大家常说的水平轴和垂直轴:而3D变形工作在X轴和Y轴之外, 还有一个Z轴.这些3D变换不仅可以定义元素的长度和 ...
- CSS3 3D Transform
CSS3 3D Transform 原文:http://www.w3cplus.com/css3/css3-3d-transform.html 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换, ...
- css3之transform的应用
一.利用transform实现图片额外显示 效果图如下 初始状态:
随机推荐
- java_jdk_JDK版本切换批处理脚本
我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:
- jQuery Mobile 中创建按钮
在 jQuery Mobile 中创建按钮 jQuery Mobile 中的按钮可通过三种方法创建: 使用 <button> 元素 使用 <input> 元素 使用 data- ...
- php_access_ADOConn 备忘
1.咕~~(╯﹏╰)b 各种乱码. 2.本来是MFC+Access 用msado15.dll写的系统,闲的想用php改改. Demo.php <meta http-equiv="Con ...
- python学习之——调用adb命令完成移动端界面测试
实现原理 Hierarchy Viewer:获得当前手机实时的UI信息,方便用于手机的自动化测试: python中的subprocess.Popen():调用系统命令: uiautomator工具:获 ...
- 移动端特殊css样式
一般会用normalize.css或者reset.css重置样式 移动端特殊css样式 去除ios 按钮按下的默认高亮效果 -webkit-tap-highlight-color : none; io ...
- Haproxy+Keepalived高可用负载均衡详细配置
本文所使用的环境: 10.6.2.128 centos6.5 10.6.2.129 centos6.5 VIP 为10.6.2.150 要实现的目标: 实现10.6.2.128和10.6 ...
- 推荐大家使用的CSS书写规范、顺序
写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范.CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经 ...
- 关于MVC中View使用自定义方法
今天学习到了在MVC的View中使用自定义方法,很简单,下面分享一下. 1.首先在项目下面建立一个文件夹,用于存我们写的自定义方法. 2.在新建文件夹中新增一个类,命名随便取(最好还是和自定义方法关联 ...
- {"读取 XML 数据时,超出最大名称表字符计数配额(16384)。。。。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxNameTableCharCount 属性,。。
这个问题倒腾了快一周,看了网上各种解决方案,还看了用谷歌翻译看了全英文的,参照了修改也没能够解决问题. 最后只有自己一行一行断点,一行一行删除代码,各种检测.主要是我在webservice里面新添加几 ...
- ibatis 批量插入oracle总结
1. 使用批量插入最先想到如下的插入语句 insert into a (id,name) values('','') ,('','') 但是 oracle 并不支持这种写法 然后查询得知可以使用如下写 ...