transfrom功能
在css3 中可以使用transfrom功能实现文字或图像的旋转,缩放,倾斜,移动等变形处理
deg是css3中使用的一种角度单位。
旋转: 使用rotate方法,在参数中加入角度值,在角度值后要加上角度单位deg。旋转方向为顺时针。例rotate(45deg)
缩放: 使用scale方法,在参数中指定缩放的倍率,0.5表示缩小一半。scale(水平缩放倍率,垂直缩放倍率),可以同时修改X,Y的缩放。scale(0.5,2)
倾斜: 使用skew方法,在参数中加入角度值,skew(水平倾斜角度,垂直倾斜角度),如果只有一个参数则认为只在水平方向倾斜。skew(30deg,30deg)
移动: 使用translate方法,在参数中加入移动值,translate(水平移动距离,垂直移动距离)以现在所处位置为原点,右边为X轴,下边为Y轴。
若只是用一个参数则默认为只在X轴方向移动,垂直方向不移动。
#transform-1{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:rotate(45deg);}
#transform-2{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:scale(0.5);}
#transform-3{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:scale(0.5,2);}
#transform-4{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:skew(30deg,30deg);}
#transform-5{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:translate(30px,30px);}
可以对同一元素同时进行旋转,缩放,倾斜移动。但先移动与后移动的效果不同。
指定变形的基准点:使用transfrom方法进行变形的时候是使用元素的中心为基准点进行变形的,使用transform-origin可以改变变形的基准点。
使用3D变形功能
旋转:transfrom:rotateX(30deg) rotateY(45deg) rotateZ(45deg);可以同时实现在不同轴上旋转。
如果定义一个函数,动态改变旋转的度数。则可以实现动态效果。
缩放:transfrom:scaleX(0.5) scaleY(1) scaleZ(2);可以同时实现在不同轴上缩放。
倾斜:transfrom:skewX skewY方法能使元素在x轴,y轴上顺时针倾斜,但是没有skewZ方法,二维倾斜。
移动:使用translateX方法,translateY,translateZ在参数中加入移动数值。
无标题文档#transform-1{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:rotate(45deg);}
#transform-2{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:scale(0.5);}
#transform-3{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:scale(0.5,2);}
#transform-4{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:skew(30deg,30deg);}
#transform-5{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:translate(30px,30px);}
#transform-6{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:rotate(45deg) scale(0.5,2) translate(30px,30px);}
#transform-7{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform: translate(30px,30px) rotate(45deg) scale(0.5,2);}
#transform-8{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:rotate(45deg);transform-origin:left bottom;}
#transform-9{ width:400px; margin:150px auto; background-color:#CF0; text-align:center; transform:rotate(45deg);transform-origin:top bottom;}
#div{ width:300px; height:100px; background-color:#3FF; text-align:center; transform: scale(0.5) rotateX(30deg) rotateY(45deg);}
#divv{ width:300px; height:100px; background-color:#3FF; text-align:center; transform: scaleX(0.5) scaleY(2); margin:40px auto; }
var n,rotx,roty,rotz;
var div=document.getElementById("div");
function rotatex()
{ n=0;
clearInterval(rotx);
rotx=setInterval("startXRotate()",10);
}
function startXRotate()
{
n = n + 1;
div.style.transform ="rotateX(" + n + "deg)";
if (n ==450)
{
clearInterval(rotx);
n = 0;
}
}
function rotatey()
{
n = 0;
clearInterval(roty);
roty = setInterval("startYRotate()",10);
}
function startYRotate()
{
n = n + 1;
div.style.transform = "rotateY(" + n + "deg)";
if (n == 580) {
clearInterval(roty);
n = 0;
}
}
function rotatez()
{
n = 0;
clearInterval(rotz);
rotz = setInterval("startZRotate()", 10);
}
function startZRotate()
{
n = n + 1;
div.style.transform = "rotateZ(" + n + "deg)";
if (n == 360) {
clearInterval(rotz);
n = 0;
}
}
var n,scx,scy,scz;
var div1=document.getElementById("divv");
function scalex()
{ n=0;
clearInterval(scx);
scx=setInterval("startXscale()",10);
}
function startXscale()
{
n = n + 0.01;
div1.style.transform ="scaleX(" + n + ")";
if (n >=2)
{
clearInterval(scx);
n = 0;
}
}
function scaley()
{
n = 0;
clearInterval(scy);
scy = setInterval("scaleYRotate()",10);
}
function scaleYRotate()
{
n = n + 0.0001;
div1.style.transform = "scaleY(" + n + ")";
if (n >= 2) {
clearInterval(scy);
n = 0;
}
}
function scalez()
{
n = 0;
clearInterval(scz);
scz = setInterval("scaleZRotate()", 10);
}
function scaleZRotate()
{
n = n + 0.1;
div1.style.transform = "scaleZ(" + n + ")";
if (n >= 2) {
clearInterval(scz);
n = 0;
}
}
代码效果图
脚本的位置会影响程序的执行吗?会的
引用答案——通常情况下,JavaScript 代码是和 HTML 代码一起使用的,可以将 JavaScript 代码放置在 HTML 文档的任何地方。但放置的地方,会对 JavaScript 代码的正常执行会有一定影响,具体如下所述。
放置于
之间将 JavaScript 代码放置于 HTML 文档的
标签之间是一个通常的做法。由于 HTML 文档是由浏览器从上到下依次载入的,将 JavaScript 代码放置于 标签之间,可以确保在需要使用脚本之前,它已经被载入了;放置于
之间也有部分情况将 JavaScript 代码放置于
之间的。设想如下一种情况:我们有一段 JavaScript 代码需要操作 HTML 元素。但由于 HTML 文档是由浏览器从上到下依次载入的,为避免 JavaScript 代码操作 HTML 元素时,HTML 元素还未载入而报错(对象不存在),因此需要将这段代码写到 HTML 元素后面,但通常情况下,我们操作页面元素一般都是通过事件来驱动的,所以上面这种情况并不多见。另外我们不建议将 JavaScript 代码写到 之外。
如果 HTML 文档声明为 XHTML , 标签必须在 CDATA 部分内声明,否则 XHTML 将把 标签解析为另一个 XML 标签,里面的 JavaScript 代码可能不会正常执行。因此,在严格的 XHTML 中使用 JavaScript 应该像如下示例一样声明:
外部引用 JavaScript 代码
将 JavaScript 代码(不包括标签)单独形成一个文档,并以 js 后缀命名,如 myscript.js ,并在 HTML 文档 标签中使用 src 属性来引用该文件;
在使用了外部引用 JavaScript 代码之后,其好处显而易见:
1.避免在 JavaScript 代码里使用
2.避免使用难看的 CDATA
3.公共的 JavaScript 代码可以被复用于其他 HTML 文档,也利于 JavaScript 代码的统一维护
4.HTML 文档更小,利于搜索引擎收录
5.可以压缩、加密单个 JavaScript 文件
6.浏览器可以缓存 JavaScript 文件,减少宽带使用(当多个页面同时使用一个 JavaScript 文件的时候,通常只需下载一次)
7.避免使用复杂的 HTML 实体,如可以直接使用 document.write(2>1) 而无需写作 document.write(2<1)
将 JavaScript 代码形成为外部文件,也会增加服务器的 HTTP 请求负担,在超高并发请求的环境下,这并不是一个好的策略。另外 在引用外部 js 文件时,需注意文件的正确路径。
我认为页面效果实现类的js应该放在body之前,动作,交互,事件驱动,需要访问dom属性的js都可以放在body之后
css3中变形与动画(三)
transform可以实现矩阵变换,transition实现属性的平滑过渡,animation意思是动画,动漫,这个属性才和真正意义的一帧一帧的动画相关.本文就介绍animation属性. anima ...
css3中变形与动画(一)
css3制作动画的几个属性:变形(transform),过渡(transition)和动画(animation). 首先介绍transform变形. transform英文意思:改变,变形. css3 ...
css3中变形与动画(二)
css3制作动画的几个属性:变形(transform),过渡(transition)和动画(animation). transform介绍过了.接下来介绍过渡transition. 一.例子 先通过一 ...
css3中变形函数(同样是对元素来说的)和元素通过改变自身属性达到动画效果
/*对元素进行改变(移动.变形.伸缩.扭曲)*/ .wrapper{ margin:100px 100px auto auto; width:300px; height:200px; border:2 ...
CSS3中的变形处理
在css3中,可以利用transform功能来实现文字或者图像的旋转.缩放.倾斜.移动这四种类型的变形处理. 旋转 旋转功能使用rotate方法参数中加入角度值,方向为顺时针旋转.示例清单如下: &l ...
CSS3中的变形与动画【转】
最近在学习制作移动端的页面,做了一个微信页面的小demo,其中用到了很多的CSS3新增的内容,其中就有CSS3新增的变形和动画.其实这种CSS3的动画效果用JS也可以实现,不过CSS3能开启硬件加速, ...
CSS3中的变形处理(transform)属性
在CSS3中,可以利用transform功能来实现文字或图像的旋转.扭曲.缩放.位移.矩阵.原点这六种类型的变形处理,下面将详细讲解transform的使用. 变形--旋转 rotate() div. ...
CSS3中的transform变形
在CSS3中,用Transform功能可以实现文字或图像的旋转.缩放.倾斜.移动这四种类型的变形,这四种变形分别使用rotate.scale.skew和translate这四种方法来实现.将这四种变形 ...
第8章 CSS3中的变形与动画(上)
变形--旋转 rotate() 旋转rotate()函数通过指定的角度参数使元素相对原点进行旋转.它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度.如果这个值为正值,元素相对原点中心顺时 ...
随机推荐
Android提高篇之自定义dialog实现processDialog“正在加载”效果、使用Animation实现图片旋转
知识点: 1.使用imageview.textview自定义dialog 2.使用Animation实现图片旋转动画效果 3.通过自定义theme去掉dialog的title 没有使用progres ...
Java 如何得到 JVM 虚拟机的 System Properties
Java 6 jps 命令得到进程号 jinfo -sysprops > sysprops.txt 打开 sysprops.txt 就可以查找 Language Time ...
php怎么获取checkbox复选框的内容?
由于checkbox属性,所有必须把checkbox复选择框的名字设置为一个如果checkbox[],php才能读取,以数据形式,否则不能正确的读取checkbox复选框的值哦.
解决ionic在ios无法使用focus,ios focus失效的问题
最近也偷懒,很久没有写博客了.今天在项目中遇到了这个奇葩的问题,基于ionic的ios的hybird APP 无法使用focus()获取焦点和键盘的问题. 问题:基于ionic的ios的hybird ...
Jenkins2.32打包Unity项目的记录
前言 使用jenkins来打包unity3d的工程. jenkins :2.50 /2.32.3(长期支持版 建议使用此版本) 操作系统:windows 7 x64 sp1 (打包安卓和win) ,m ...
web.py框架之基本应用
一.基本应用 1.1 Hello World! # coding:utf-8 import web urls = ( "/.*", "Tk_online" ) ...
Codeforces 906 D. Power Tower
http://codeforces.com/contest/906/problem/D 欧拉降幂 #include #include usi ...
go 通道
1. package main import "fmt" func sum(s []int, c chan int) { sum := for _, v := range s { ...
CSS的浮动(float)
问题:在练习过程中,发现div1浮动后,它下面的div被覆盖住了. 解决方案:清除该div1的浮动. 关于CSS的浮动 1.div是块级元素,独占一行 2.浮动可以理解为让某个div元素脱离标准流,漂 ...
科技发烧友之单反佳能700d中高端
http://detail.zol.com.cn/series/15/15795_1.html 前三 佳能 尼康 索尼 佳能5d 1.6w 佳能70d 5k 佳能6d 9k 佳能d7100 5k 尼康 ...