当前位置:   article > 正文

CSS3 变形:平移、旋转与缩放_css3平移

css3平移

目录

 

变形:平移、旋转与缩放

1、平移

2、Z轴平移

3、旋转

4、缩放

5、实战


变形:平移、旋转与缩放

变形就是指通过css来改变元素的形状或位置

变形不会影响到页面的布局

transform用来设置元素的变形效果

1、平移

  • translateX() 沿着由方向平移
  • translateY() 沿着y轴方向平移
  • translateZ() 沿着z轴方向平移平移元素

百分比是相对于自身计算的

几种水平垂直双方向居中的方式对比

  1. 绝对定位的方式

  1. /* 这种居中方式,只适用于元素的大小确定 */
  2. position: absolute;
  3. top: 0;
  4. left: 0;
  5. bottom: 0;
  6. right: 0;
  7. margin: auto;

2、Z轴平移

z轴平移,调整元素在z轴的位置,正常情况就是调整元素和人眼之间的距离,距离越大,元素离人越近

z轴平移属于立体效果(近大远小),默认情况下网页是不支持透视,如果需要看见效果必须要设置网页的视距



透视效果

  1. html {
  2. background-color: rgb(71, 44, 32);
  3. perspective: 800px;
  4. }
  5. .box {
  6. width: 200px;
  7. height: 300px;
  8. background-color: silver;
  9. margin: 100px auto;
  10. transition: all .3s;
  11. }
  12. .box:hover {
  13. box-shadow: 0 0 10px rgba(0, 0, 0, .2);
  14. transform: translateZ(200px);
  15. }

3、旋转

通过旋转可以使元素沿着x、y或z旋转指定的角度

  • rotateX()
  • rotateY()
  • rotateZ()
  1. /* transform: rotateY(0.5turn); */
  2. transform: rotateY(180deg);

旋转效果

4、缩放

对元素进行缩放的函数

  • scalex() 水平方向缩放
  • scaleY() 垂直方向缩放
  • scale() 双方向的缩放
  1. .box {
  2. height: 200px;
  3. width: 200px;
  4. background-color: #bfa;
  5. margin: 200px auto;
  6. transition: 2s;
  7. }
  8. .box:hover {
  9. /* transform: scaleX(2); */
  10. /* transform: scaleY(2); */
  11. transform: scale(2);
  12. /* 变形的原点 */
  13. transform-origin: 0 0;
  14. }

变形原点

5、实战



时钟表

 

html代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="Generator" content="EditPlus®">
  6. <meta name="Author" content="">
  7. <meta name="Keywords" content="">
  8. <meta name="Description" content="">
  9. <title>Document</title>
  10. <style type="text/css">
  11. .clock{
  12. height:600px;
  13. background-color:orange;
  14. width:600px;
  15. margin:500px 500px;
  16. position:relative;
  17. border-radius:50%;
  18. }
  19. .secWrapper{
  20. height:600px;
  21. width:5px;
  22. top:0px;
  23. left:300px;
  24. position:absolute;
  25. animation: secondPointer 60s steps(60) infinite;
  26. }
  27. .sec{
  28. height:50%;
  29. background-color:red;
  30. width:5px;
  31. }
  32. .minWrapper{
  33. height:400px;
  34. width:8px;
  35. top:100px;
  36. left:300px;
  37. position:absolute;
  38. animation: secondPointer 300s steps(60) infinite;
  39. }
  40. .min{
  41. height:50%;
  42. background-color:black;
  43. width:8px;
  44. }
  45. .hourWrapper{
  46. height:200px;
  47. width:11px;
  48. position:absolute;
  49. top:200px;
  50. left:300px;
  51. animation: secondPointer 480s steps(60) infinite;
  52. }
  53. .hour{
  54. height:50%;
  55. background-color:black;
  56. width:11px;
  57. }
  58. @keyframes secondPointer{
  59. from {
  60. transform:rotateZ(0);
  61. }
  62. to {
  63. transform:rotateZ(360deg);
  64. }
  65. }
  66. </style>
  67. </head>
  68. <body>
  69. <div class="clock">
  70. <div class="secWrapper">
  71. <div class="sec">
  72. </div>
  73. </div>
  74. <div class="minWrapper">
  75. <div class="min">
  76. </div>
  77. </div>
  78. <div class="hourWrapper">
  79. <div class="hour">
  80. </div>
  81. </div>
  82. </div>
  83. </body>
  84. </html>

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/代码创作者/article/detail/60316
推荐阅读
  

闽ICP备14008679号