css3 transform属性详解
脚本之家
CSS3变形是一些效果的集合,比如平移translate() 、旋转rotate()、缩放scare()和倾斜skew()效果,每个效果都被称作为变形函数(Transform Function),它们可以操控元素发生旋转、缩放、和平移等变化。
CSS3的2D transform函数包括了translate()、scale()、rotate()和skew()。
translate()函数接受CSS的标准度量单位;scale()函数接受一个0和1之间的十进制值;rotate()和skew()两个函数都接受一个径向的度量单位值deg。除了rotate()函数之外,每个函数都接受X轴和Y轴的参数。
CSS3变形中具有X /Y可用的函数:translateX()、translateY()、scaleX()、scaleY()、skewX()和skewY()。(translateX(正的向右),translateY(负的向上))
2D transform常用的transform-function的功能:
translate():用来移动元素,可以根据X轴和Y轴坐标重新定位元素位置。在此基础上有两个扩展函数:translateX()和translateY()。
scale():用来缩小或放大元素,可以使用元素尺寸发生变化。在此基础上有两个扩展函数:scaleX()和scaleY()。
rotate():用来旋转元素。
skew():用来让元素倾斜。在此基础上有两个扩展函数:skewX()和skewY()。
matrix():定义矩阵变形,基于X轴和Y轴坐标重新定位元素位置。
3D transform常用的transform-function的功能:
translate3d():移元素元素,用来指定一个3D变形移动位移量
translate():指定3D位移在Z轴的位移量。
scale3d():用来缩放一个元素。
scaleZ():指定Z轴的缩放向量。
rotate3d():指定元素具有一个三维旋转的角度。
rotateX()、rotateY()和rotateZ():让元素具有一个旋转角度。
perspective():指定一个透视投影矩阵。
matrix3d():定义矩阵变形。
设置transform-style的值为preserve-3d值,建立一个3D渲染环境。
transform-origin属性指定元素的中心点在哪。transform-origin属性值可以是百分比、em、px等具体的值,也可以是top、right、bottom、left和center这样的关键词。
`perspective`属性: 设置元素被查看位置的视图。 perspective 属性定义 3D 元素距
视图的距离,以像素计。该属性允许您改变 3D 元素查看 3D 元素的视图。
`perspective-origin:` 设置 3D 元素的基点位置。 属性定义 3D 元素所基于的 X 轴
和 Y 轴。该属性允许您改变 3D 元素的底部位置。
Perspective:景深
perspective-origin :景深基点
transform-origin:变换基点
注意:和transform属性易混淆的是transition过渡属性(不是translate()移动变化哦)。
更加具体的变形你可以参照这个网站,可以实时显示样式和代码:http://ecd.tencent.com/css3/tools.html
看下面一个例子:
<style type="text/css">
.animation{
transform:rotate(20deg) scaleX(1.7) scaleY(-0.7) translateX(132px)
translateY(21px) skewX(-26deg) skewY(5deg);
}
</style></p> <p> <body>
<div class="animation" style="height:100px;width:100px;
background:black;color:white">
Transform变化
</div></p> <p></body>