现在的位置: 首页 > web前端 > 正文

rotate3d是什么

2020年07月20日 web前端 ⁄ 共 1088字 ⁄ 字号 评论关闭

  rotate3d()CSS函数定义一个变换,它将元素围绕固定轴移动而不使其变形。运动量由指定的角度定义;如果为正,运动将为顺时针,如果为负,则为逆时针。


  rotate3d是什么


  在3D空间之中,旋转有3个自由维度,描述了旋转轴。旋转轴由一组[x,y,z]矢量定义,并且通过变换源点传递(即通过transform-originCSS属性定义)。如果这些矢量被赋予非标准值,即3个坐标值的平方和不等于1时,它将会被内部隐式标准化。非标准矢量,例如空值和[0,0,0],将会使旋转不起作用,但是不影响整个CSS属性的其他效果(译者注:如transform中的多项变换)。


  与平面旋转相反的是,3D旋转的组合通常是不可交换的;这意味着定义旋转规则的值的顺序是严格控制的。


  语法


  rotate3d(x,y,z,a)


  值


  x


  <number>类型,可以是0到1之间的数值,表示旋转轴X坐标方向的矢量。


  y


  <number>类型,可以是0到1之间的数值,表示旋转轴Y坐标方向的矢量。


  z


  <number>类型,可以是0到1之间的数值,表示旋转轴Z坐标方向的矢量。


  a


  <angle>类型,表示旋转角度。正的角度值表示顺时针旋转,负值表示逆时针旋转。


  笛卡尔坐标onℝ2 齐次坐标onℝℙ2 笛卡尔坐标onℝ3 齐次坐标onℝℙ3


  这种变换应用于3D空间,不可用于平面空间 1+(1-cos(a))(x2-1) z·sin(a)+xy(1-cos(a)) -y·sin(a)+xz·(1-cos(a)) -z·sin(a)+xy·(1-cos(a)) 1+(1-cos(a))(y2-1) x·sin(a)+yz·(1-cos(a))


  ysin(a)+xz(1-cos(a)) -xsin(a)+yz(1-cos(a)) 1+(1-cos(a))(z2-1) t


  0 0 0 1


   


  rotate3d示例


  绕Y轴旋转


  HTML


  <div>Normal</div>


  <divclass="rotated">Rotated</div>


  CSS


  body{


  perspective:800px;


  }


  div{


  width:80px;


  height:80px;


  background-color:skyblue;


  }


  .rotated{


  transform:rotate3d(0,1,0,60deg);


  background-color:pink;


  }


  总之,rotate3d给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.