2D空间和3D空间
2D:x 、y
3D:x、y、z
可以使用transform属性将HTML元素在3D空间内
一个就简单的例子
<div> <img src="lufei.jpg"> </div> @-webkit-keyframes rotate{ 100%{transform:rotate(60deg);} } img{ -webkit-animation-name:rotate; -webkit-animation-durction:2s; }
这样的话 图片只是变扁了,看不到透视效果,想要看到透视效果需要在父元素上加上perspective属性,也就是说把这个div看作一个3D画面
perspective:1000px; 视点和3D画面的距离,距离越小透视就越明显。
<div> <img src="lufei.jpg"> </div> div{ perspevtive:500px; } @-webkit-keyframes rotate{ 100%{transform:rotate(60deg);} } img{ -webkit-animation-name:rotate; -webkit-animation-durction:2s; }
perspective-origin:right top;改变视点的位置
<div> <img src="lufei.jpg"> </div> div{ perspevtive:500px; perspective-origin:right top; } @-webkit-keyframes rotate{ 100%{transform:rotate(60deg);} } img{ -webkit-animation-name:rotate; -webkit-animation-durction:2s; }
transform-origin;x y z; 旋转的基准点
<div> <img src="lufei.jpg"> </div> div{ perspevtive:500px; } @-webkit-keyframes rotate{ 100%{transform:rotate(60deg);} } img{ -webkit-animation-name:rotate; -webkit-animation-durction:2s; transform-origin:center center 100px; }
backface-visibility:设置元素背面是否可见,默认visible
<div> <img src="lufei.jpg"> </div> div{ perspevtive:500px; } @-webkit-keyframes rotate{ 100%{transform:rotate(60deg);} } img{ -webkit-animation-name:rotate; -webkit-animation-durction:2s; transform-origin:center center 100px; backface-visibility:hidden; 背面隐藏 }