10-19-1-box-animation-keyframe-states-illustration.html 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Illustration of the various keyframe states for the box animation</title>
  6. <style>
  7. body {
  8. background-color: #663399;
  9. padding: 4em 2em;
  10. color: #fff;
  11. font-family: Avenir Next, Avenir, SegoeUI, arial, sans-serif;
  12. }
  13. .frame {
  14. float: left;
  15. padding: 60px;
  16. text-align: center;
  17. }
  18. .frame p {
  19. margin-bottom: 2em;
  20. font-family: monospace, monospace;
  21. font-size: 2em;
  22. }
  23. .frame + .frame {
  24. border-left: 2px solid;
  25. }
  26. .box {
  27. width: 50px;
  28. height: 50px;
  29. background-color: #fff;
  30. -webkit-transform-origin: 100% 100%;
  31. -moz-transform-origin: 100% 100%;
  32. -ms-transform-origin: 100% 100%;
  33. -o-transform-origin: 100% 100%;
  34. transform-origin: 100% 100%;
  35. }
  36. .box-0 {
  37. -webkit-transform: translateX(-100%);
  38. -moz-transform: translateX(-100%);
  39. -ms-transform: translateX(-100%);
  40. -o-transform: translateX(-100%);
  41. transform: translateX(-100%);
  42. }
  43. .box-20 {
  44. -webkit-transform: translateX(-100%) skewX(15deg);
  45. -moz-transform: translateX(-100%) skewX(15deg);
  46. -ms-transform: translateX(-100%) skewX(15deg);
  47. -o-transform: translateX(-100%) skewX(15deg);
  48. transform: translateX(-100%) skewX(15deg);
  49. }
  50. .box-28 {
  51. -webkit-transform: translateX(-100%) skewX(0deg);
  52. -moz-transform: translateX(-100%) skewX(0deg);
  53. -ms-transform: translateX(-100%) skewX(0deg);
  54. -o-transform: translateX(-100%) skewX(0deg);
  55. transform: translateX(-100%) skewX(0deg);
  56. }
  57. .box-45 {
  58. -webkit-transform: translateX(-100%) skewX(-5deg) rotate(20deg) scaleY(1.1);
  59. -moz-transform: translateX(-100%) skewX(-5deg) rotate(20deg) scaleY(1.1);
  60. -ms-transform: translateX(-100%) skewX(-5deg) rotate(20deg) scaleY(1.1);
  61. -o-transform: translateX(-100%) skewX(-5deg) rotate(20deg) scaleY(1.1);
  62. transform: translateX(-100%) skewX(-5deg) rotate(20deg) scaleY(1.1);
  63. }
  64. .box-50 {
  65. -webkit-transform: translateX(-100%) rotate(45deg) scaleY(1.1);
  66. -moz-transform: translateX(-100%) rotate(45deg) scaleY(1.1);
  67. -ms-transform: translateX(-100%) rotate(45deg) scaleY(1.1);
  68. -o-transform: translateX(-100%) rotate(45deg) scaleY(1.1);
  69. transform: translateX(-100%) rotate(45deg) scaleY(1.1);
  70. }
  71. .box-60 {
  72. -webkit-transform: translateX(-100%) rotate(90deg);
  73. -moz-transform: translateX(-100%) rotate(90deg);
  74. -ms-transform: translateX(-100%) rotate(90deg);
  75. -o-transform: translateX(-100%) rotate(90deg);
  76. transform: translateX(-100%) rotate(90deg);
  77. }
  78. .box-65 {
  79. -webkit-transform: translateX(-100%) rotate(90deg) skewY(10deg);
  80. -moz-transform: translateX(-100%) rotate(90deg) skewY(10deg);
  81. -ms-transform: translateX(-100%) rotate(90deg) skewY(10deg);
  82. -o-transform: translateX(-100%) rotate(90deg) skewY(10deg);
  83. transform: translateX(-100%) rotate(90deg) skewY(10deg);
  84. }
  85. .box-70 {
  86. -webkit-transform: translateX(-100%) rotate(90deg) skewY(0deg);
  87. -moz-transform: translateX(-100%) rotate(90deg) skewY(0deg);
  88. -ms-transform: translateX(-100%) rotate(90deg) skewY(0deg);
  89. -o-transform: translateX(-100%) rotate(90deg) skewY(0deg);
  90. transform: translateX(-100%) rotate(90deg) skewY(0deg);
  91. }
  92. .box-100 {
  93. -webkit-transform: translateX(-100%) rotate(90deg);
  94. -moz-transform: translateX(-100%) rotate(90deg);
  95. -ms-transform: translateX(-100%) rotate(90deg);
  96. -o-transform: translateX(-100%) rotate(90deg);
  97. transform: translateX(-100%) rotate(90deg);
  98. }
  99. </style>
  100. </head>
  101. <body>
  102. <div class="frame">
  103. <p>0%</p>
  104. <div class="box box-0"></div>
  105. </div>
  106. <div class="frame">
  107. <p>20%</p>
  108. <div class="box box-20"></div>
  109. </div>
  110. <div class="frame">
  111. <p>28%</p>
  112. <div class="box box-28"></div>
  113. </div>
  114. <div class="frame">
  115. <p>45%</p>
  116. <div class="box box-45"></div>
  117. </div>
  118. <div class="frame">
  119. <p>50%</p>
  120. <div class="box box-50"></div>
  121. </div>
  122. <div class="frame">
  123. <p>60%</p>
  124. <div class="box box-60"></div>
  125. </div>
  126. <div class="frame">
  127. <p>65%</p>
  128. <div class="box box-65"></div>
  129. </div>
  130. <div class="frame">
  131. <p>70%</p>
  132. <div class="box box-70"></div>
  133. </div>
  134. <div class="frame">
  135. <p>100%</p>
  136. <div class="box box-100"></div>
  137. </div>
  138. </body>
  139. </html>