自己做得一个用于直观观察css3 transform属性中的rotate 3D效果
这段代码还是非常简单,是看了一个老师的视频受的启发,也是调用了很多个函数,所以比较杂乱吧!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>翻转调节器</title>
<style type="text/css">
#container{
-webkit-transform: -webkit-transform 1s linear;
-webkit-perspective: 800px;
-webkit-perspective-origin: 50% 50%;
-webkit-transform-style: -webkit-preserve-3d;
}
#squre{
width: 150px;
height: 150px;
background-color: #00BB00;
margin: 20px auto;
border-radius: 0;
}
.circle{
float: left;
}
.p1,.p2{
width: 50px;
border-radius: 10px;
}
#op{
font-size: 16px;
font-weight: bold;
color: gray;
width: 800px;
margin: 100px auto;
}
#op .change{
width: 721px;
}
</style>
</head>
<body>
<div id="container">
<div id="squre"></div>
</div>
<button name="button" id="circle" class="circle" onclick="circle()">圆形</button>
<input type="text" id="width" class="p1" placeholder="宽"></input>
<input type="text" id="height" class="p2" placeholder="高"></input>
<button onclick="rec()">确定</button>
<button name="button" id="color" class="color" onclick="changecolor()">改个颜色</button>
<div id="op">
<p>rotate x: <span id="lolx">0</span> deg</p>
<input type="range" min="-360" max="360" id="changeX" value="0" class="change" onchange="rotate()" /><br/>
<p>rotate y: <span id="loly">0</span> deg</p>
<input type="range" min="-360" max="360" id="changeY" value="0" class="change" onchange="rotate()" /><br/>
<p>rotate z: <span id="lolz">0</span> deg</p>
<input type="range" min="-360" max="360" id="changeZ" value="0" class="change" onchange="rotate()" /><br/>
</div>
<script type="text/javascript">
function circle(){
var circle=document.getElementById('squre');
circle.style.borderRadius="75px";
circle.style.width='150px';
squre.style.height='150px';
}
function rec(){
var squre=document.getElementById('squre');
var wid=document.getElementById('width').value;
var hei=document.getElementById('height').value;
squre.style.height=hei+'px';
squre.style.width=wid+'px';
squre.style.borderRadius='0';
}
/*这里是一个闭包的随机颜色代码*/
var getRandomColor = function(){
return '#' +
(function(color){
return (color += '0123456789abcdef'[Math.floor(Math.random()*16)])
&& (color.length == 6) ? color : arguments.callee(color);
})('');
}
function changecolor(){
var color=document.getElementById('squre');
color.style.backgroundColor=getRandomColor();
}
function rotate(){
var x = document.getElementById("changeX").value;
var y = document.getElementById("changeY").value;
var z = document.getElementById("changeZ").value;
document.getElementById('squre').style.webkitTransform = "rotateX("+x+"deg) rotateY("+y+"deg) rotateZ("+z+"deg)";
document.getElementById('lolx').innerText = x;
document.getElementById('loly').innerText = y;
document.getElementById('lolz').innerText = z;
}
</script>
</body>
</html>
自己做得一个用于直观观察css3 transform属性中的rotate 3D效果的更多相关文章
- CSS3 animation属性中的steps实现GIF动图(逐帧动画)
相信 animation 大家都用过很多,知道是 CSS3做动画用的.而我自己就只会在 X/Y轴 上做位移旋转,使用 animation-timing-function 规定动画的速度曲线,常用到的 ...
- CSS3 transform 属性
CSS3 transform 属性 语法: transform: none|transform-functions; 值 描述 none 定义不进行转换. matrix(n,n,n,n,n,n) 定义 ...
- css3动画属性中的transition属性
一.语法 transition: property duration timing-function delay; 值 描述 transition-property 规定设置过渡效果的 CSS 属性的 ...
- 【CSS3 transform属性和过渡属性详解】
CSS3transform属性详解 transform字面上就是变形,改变的意思. 在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translat ...
- css3 transform属性多值的顺序问题
对于transform属性的多值的顺序问题,我自己就被困扰过.后来知道了跟顺序有关,但是不知道为什么.我想应该很多人跟我以前一样,知其然不知其所以然.如果不知道的,也许这篇文章会对大家有所帮助. 先来 ...
- CSS3 transform属性
说明: transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行移动(translate).旋转(rotate).缩放(scale)或倾斜(skew) transition属 ...
- CSS3 transform 属性详解(skew, rotate, translate, scale)
写这篇文章是因为在一个前端QQ群里,网友 "小豆豆" (应他要求要出现他的网名......) ,问skew的角度怎么算,因为他看了很多文章还是不能理解skew的原理.于是,我觉得有 ...
- css3学习--css3动画详解二(3d效果)
一.设置3D场景 perspective:800 //浏览器到物体的距离(像素)perspective-origin:50% (x轴) 50% (y轴) //视点的位置 transf ...
- 商品标签例子——CSS3 transform 属性
积累很重要.从此开始记录前端生涯的点滴.... <!DOCTYPE html><html lang="en"><head> <meta c ...
随机推荐
- IOS拒绝Adobe的六大理由
苹果与Adobe的关系由来已久.事实上,Adobe的创始人还在他们众所周知的小车库里时,我们就碰过面了.苹果是他们的第一个大客户.我们将他们的Postscript语言应用于当时最新的Laserwrit ...
- Paxos 实现日志复制同步(Multi-Paxos)
Paxos 实现日志复制同步 这篇文章以一种易于理解的方式来解释 Multi-Paxos 的机制. Multi-Paxos 的是为了创建日志复制 一种实现方式是用一组基础 Paxos 实例,每条记录都 ...
- jmeter线程组配置
线程组配置 线程组相当于有多个用户,同时去执行相同的一批次任务.每个线程之间都是隔离的,互不影响的.一个线程的执行过程中,操作的变量,不会影响其他线程的变量值. Delay Thread creati ...
- (@WhiteTaken)设计模式学习——工厂方法模式
这个工厂方法模式,是简单工厂的延伸,不同点在于,将某个具体的类继续细分,将核心部分抽象成一个接口.而简单工厂,把核心写在了一个类上,不利于拓展. 举个例子,简单工厂中有苹果类,香蕉类,我们创建了一个F ...
- cvs上传复制项目
现在想重用,特别是重用框架. cvs上传新项目:右键—>team—>share project,根据向导,可选在使用项目名为module名. cvs删除项目:直接在cvs服务器目录上删除项 ...
- java打包jar,war,ear包的作用、区别
java的打包jar,war,ear包的作用,区别,打包方式. a) 作用与区别 i. jar: 通常是开发时要引用通用(JAVA)类,打成包便于存放管理 ii. war ...
- MVC分页控件
1.下载MvcPager.dll文件并引用到MVC项目中 2.在控制器中引用命名空间using Webdiyer.WebControls.Mvc; 3.获取数据集合,数据的总记录数(数据集合有多少条数 ...
- Python实现多线程HTTP下载器
本文将介绍使用Python编写多线程HTTP下载器,并生成.exe可执行文件. 环境:windows/Linux + Python2.7.x 单线程 在介绍多线程之前首先介绍单线程.编写单线程的思路为 ...
- java异常的一些小知识
异常,我们软件都需要面对的一个问题.如何让你的软件更加健壮呢?这是一个值得我们考虑的问题.这里主要为大家介绍一下异常是什么,异常是如何产生的,如何将异常抛出,如何捕获异常,对于异常应该如何处理的个人一 ...
- tableView的总结
// // ViewController.m // TableViewController // // Created by 王妍 on 16/3/23. // Copyright © 2016年 c ...