标签:transform
转换 transform
能够对元素进行移动、缩放、转动、拉长或拉伸
在CSS中,允许元素实现 2D 和 3D的转换效果,主要包含 :旋转,缩放,移动,倾斜
2D :元素只能在X轴和Y轴平面上发生变化
3D :元素还可以在 Z轴上发生变化
取值:
none:无转换
2D Transform Functions:
matrix():
以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a,b,c,d,e,f]变换矩阵
translate():
指定对象的2D translation(2D平移)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0
translatex():
指定对象X轴(水平方向)的平移
translatey():
指定对象Y轴(垂直方向)的平移
rotate():
指定对象的2D rotation(2D旋转),需先有 <‘ transform-origin ‘> 属性的定义
scale():
指定对象的2D scale(2D缩放)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认取第一个参数的值
scalex():
指定对象X轴的(水平方向)缩放
scaley():
指定对象Y轴的(垂直方向)缩放
skew():
指定对象skew transformation(斜切扭曲)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0
skewx():
指定对象X轴的(水平方向)扭曲
skewy():
指定对象Y轴的(垂直方向)扭曲
3D Transform Functions:
matrix3d():
以一个4x4矩阵的形式指定一个3D变换
translate3d():
指定对象的3D位移。第1个参数对应X轴,第2个参数对应Y轴,第3个参数对应Z轴,参数不允许省略
translatez():
指定对象Z轴的平移
rotate3d():
指定对象的3D旋转角度,其中前3个参数分别表示旋转的方向x,y,z,第4个参数表示旋转的角度,参数不允许省略
rotatex():
指定对象在x轴上的旋转角度
rotatey():
指定对象在y轴上的旋转角度
rotatez():
指定对象在z轴上的旋转角度
scale3d():
指定对象的3D缩放。第1个参数对应X轴,第2个参数对应Y轴,第3个参数对应Z轴,参数不允许省略
scalez():
指定对象的z轴缩放
perspective():
指定透视距离
1、2D转换
使元素在x轴 和 y轴上所进行的转换效果可以称之为2D转换,包括:位移、缩放、旋转、倾斜
1-1、位移 translate()
让元素产生一个位置的移动变化效果
函数:translate(一个值) -->只在x轴位移距离
          translate(值1,值2) --> 在x轴和y轴的位移距离
取值:数值 | 百分比,可以取负值
           x为正,则向右移动; x为负,则向左移动。
y为正,则向下移动; y为负,则向上移动。
代码示例如下:
<!doctype html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>位移</title>
  <style>
    div{
      width:100px;
      height:100px;
      /*绝对定位*/
      position:absolute;
      top:0;
      left:0;
    }
    #d1{
      border:1px dotted #333;
    }
    #d2{
      border:1px solid #f00;
      background-color:#ddd;
      opacity:0.5;
      /*位移*/
      transform:translate(50px,50px);
    }
  </style>
 </head>
 <body>
  <div id="d1"></div>
  <div id="d2"></div>
 </body>
</html>1-2、缩放 scale()
      改变元素的大小称之为 缩放
函数:scale(), scale(x), scale(x,y)
注意:如果只给一个值,那么,第二个默认与第一个值相等
取值:默认值为1
          缩小:0到1之间的数值
放大:大于1的数值
代码示例如下:
<!doctype html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>位移</title>
  <style>
    div{
      width:200px;
      height:200px;
      /*绝对定位*/
      position:absolute;
      top:300px;
      left:400px;
    }
    #d1{
      border:1px dotted #333;
    }
    #d2{
      border:1px solid #f00;
      background-color:#ddd;
      opacity:0.5;
      /*缩放*/
      transform:scaleX(1.5);
    }
  </style>
 </head>
 <body>
  <div id="d1">原始元素</div>
  <div id="d2">缩放元素</div>
 </body>
</html>转换的原点 transform-origin
默认位置:原点是在元素的中心位置
取值:数值 | 百分比 | 关键字
两个值:表示x轴 和 y轴的位置
三个值:表示x轴,y轴,z轴
兼容性:
本文出自 “dapengtalk” 博客,请务必保留此出处http://dapengtalk.blog.51cto.com/11549574/1875900
标签:transform
原文地址:http://dapengtalk.blog.51cto.com/11549574/1875900