12.transform3d.html 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <style>
  8. * {
  9. margin: 0;
  10. padding: 0;
  11. }
  12. body {
  13. perspective: 1000px;
  14. }
  15. #contain {
  16. height: 100vh;
  17. display: flex;
  18. align-items: center;
  19. justify-content: center;
  20. /* 让子元素开启3D样式 */
  21. transform-style: preserve-3d;
  22. /* 透视距离 800~1200最佳 */
  23. transform: perspective(1000px);
  24. transform-origin: left top;
  25. }
  26. #box {
  27. width: 300px;
  28. height: 300px;
  29. background: plum;
  30. /* transform: scaleZ(2); */
  31. /* transform: translateZ(100px); */
  32. transform: rotate3d(0,0.4,1,30deg);
  33. /* transform: translate3d(100px,100px,100px); */
  34. /* transform: translateZ(100px); */
  35. /* transform:scale3d(1,1,0.5) */
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <!--
  41. Transform-origin:X,Y;
  42. 功能:用来定义rotate旋转,skew倾斜和scale缩放的中心点;
  43. 说明:X,Y可以是具体的数值,也可以是百分比还可以是,left,center,top,bottom
  44. 1.左上角为(0,0)点 第一个参数代表x方向 第二个参数代表y方向;
  45. 2.如果设置左上角或者中心位置也可以使用关键字;
  46. transform-origin:left top;
  47. transform-origin:center center;
  48. transform-style:preserve-3d;//开启3D透视
  49. transform:perspective(1000px);//透视距离 (800-1200)
  50. 1.translate3d()括号中必须有3个参数:加快CPU的运行
  51. transform:translateZ();近大远小
  52. 2.transform:rotate3d(4个参数) rotate3d(1 1 1,30deg); 1是要旋转的意思,0是不旋转
  53. rotate3d后面必须指清旋转的3个方向
  54. 3. transform:scale3d(2,2,1<0-1取值范围>)如果有3d限定 必须传3个参数
  55. -->
  56. <div id="contain">
  57. <div id="box"></div>
  58. </div>
  59. </body>
  60. </html>