Advertisement
r3dglov3

CSS Gun animation

Apr 7th, 2023
720
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5.05 KB | Source Code | 0 0
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>CSS Gun</title>
  6.  
  7. <style>
  8. body{margin:0 auto;width:100%;font-family:"Courier New", Courier, monospace;}
  9. .dazcontainer{display:block;width:80%;height:auto;margin:0 auto;padding:2em;font-family:monospace;font-size:15px;color:#000;}
  10. .dazobject{display:block;max-width:300px;min-width:300px;height:auto;margin:20px auto 12px auto;}
  11.  
  12.  
  13. #gun{transform:translate(10px, 0) rotate(0deg); transform-origin:bottom left;}
  14. .aim{display:block;width:10px;height:10px;background-color:#222;border-radius:1px 15px 12px 4px;transform:translate(100px, -6px);clip-path: polygon(3% 0, 80% 0%, 100% 100%, 0% 100%);}
  15. .trigger{display:block;width:120px;height:120px;transform:translate(-36px,-138px) scale(.60);background-color:#222;clip-path: polygon(40% 30%, 88% 26%, 93% 7%, 93% 0, 100% 0, 100% 8%, 94% 28%, 79% 35%, 39% 38%);z-index:999;}
  16. .animslider{transform:translate(0,0); transform-origin:left;}
  17.  
  18. #gun:hover{animation-play-state:paused;}
  19. .shoot-play { animation-play-state:running;
  20.   animation: play .8s infinite;
  21.   -webkit-animation: play .8s infinite;
  22.   -moz-animation: play .8s infinite;
  23.   -o-animation: play .8s infinite;
  24. }
  25. @keyframes play{
  26.     0%{transform:translate(-5px, -3px) rotate(-4deg);}
  27.     100%{transform:translate(5px, 0) rotate(0deg);}
  28.     }
  29.    
  30.    
  31. .animslider { animation-play-state:running;
  32.   animation: playslide .8s infinite;
  33.   -webkit-animation: playslide .8s infinite;
  34.   -moz-animation: playslide .8s infinite;
  35.   -o-animation: playslide .8s infinite;
  36. }
  37. @keyframes playslide{
  38.     0%{transform:translate(-9px, 0);}
  39.     100%{transform:translate(0, 0);}
  40.     }  
  41. .gun-component{display:block;width:120px;height:120px;background-color:#222;clip-path: polygon(100% 0, 100% 14%, 28% 14%, 20% 48%, 0 48%, 0 40%, 10% 18%, 0 13%, 0 0);}
  42. #component-top{display:block;width:120px;height:11px;background-color:#222;border-radius:12px 3px 0 4px;box-shadow:-2px 4px 0 #555,-3px 6px #000,inset 0 2px 1px #777,3px 3px 0 #555;} 
  43. #shooting {z-index:1000;}
  44. .flash{display:block;width:8px;height:6px;z-index:999;background-color:#F63;animation: xshot .9s infinite;-webkit-animation: xshot .9s infinite;-moz-animation: xshot .9s infinite;-o-animation: xshot .9s infinite;transform:translate(122px,-245px) scale(1);opacity:0;filter:blur(0);box-shadow:0 1px 1px #FC3,0 -1px -2px #FF9;}
  45.  
  46. @keyframes xshot {
  47. 0%,50%{transform:translate(122px,-245px) scale(1);opacity:0;}
  48. 50.5%,70%{transform:translate(122px,-245px) scale(3);border-radius:100%;filter:blur(1px);opacity:.7;}
  49. 70.5%,80%{transform:translate(122px,-245px) scale(1);opacity:1;}
  50. 80.5%,90%{transform:translate(122px,-245px) scale(3);border-radius:100%;filter:blur(2px);opacity:1;}
  51. 90.5%,100%{transform:translate(322px,-245px) scale(3);border-radius:100%;filter:blur(3px);opacity:1;box-shadow:0 1px 1px #FC3,0 -1px -2px #FF9;}
  52. }  
  53. .flash:after{content:'';display:inline-block;width:6px;height:2px;background-color:#FF3;filter:unset;box-shadow:2px 0 0 #FF6,0 -6px 0 #FF6;transform:translate(-2px,-8px);z-index:1000;}
  54.  
  55.  
  56.  
  57. /** Off **/
  58. .topnav{display:block;width:100%;height:auto;margin:0 auto;font-size:22px;color:#555;font-family:"Courier New", Courier, monospace;font-weight:bold;}
  59.  
  60. .thenav{display:block;width:100%;height:auto;margin:0 auto;position:fixed;bottom:0;left:0;background-color:rgba(0,0,0,0.7);}
  61. .thenav a:link,.thenav a:visited{color:#3F6;}
  62. .thenav a:hover{color:#FC6;}   
  63. .level{display:inline-block;width:33%;height:auto;margin:0 auto;}
  64. .innerlevel{display:block;width:90%;height:auto;margin:0 auto;box-sizing:border-box;padding:.7em 0 .3em;}
  65. .bu{background-color:#FFF;padding:.7em 1em .7em;border-radius:4px;border:none;color:#099;}
  66. .bu:hover{background-color:#333;padding:.7em 1em .7em;border-radius:4px;border:none;color:#0CC;}
  67. .daztitle{display:block;width:80%;height:auto;padding:2em 0 3em;text-align:center;margin:0 auto 22px auto;}
  68. .daztitle h2{font-size:22px;color:#069;font-family:"Courier New", Courier, monospace;}
  69. </style>
  70. </head>
  71.  
  72. <body>
  73.  
  74. <div class="topnav">
  75.  <div class="innerlevel">CSS-Play</div>
  76. </div>
  77.  
  78.  
  79.  
  80. <div class="dazcontainer">
  81.  
  82.  
  83. <div class="daztitle">
  84.  <h2>Gun</h2>
  85.  <em>use the button to start/stop shooting animation</em>
  86. </div>
  87.  
  88. <div class="dazobject">
  89.   <div id="gun" class="">
  90.     <div id="component-top" class="">
  91.      <div class="aim"></div>
  92. </div>
  93.      <div class="gun-component"></div>
  94.      <div class="trigger"></div>
  95.      <div id="shooting" class=""></div>
  96.   </div>
  97.  
  98. </div>
  99. </div>
  100.  
  101.  
  102. <div class="thenav">
  103. <div class="level">
  104.  <div class="innerlevel">
  105.  <p><a href="#">Source Code</a></p>
  106.  </div>
  107. </div>
  108.  
  109. <div class="level">
  110.  <div class="innerlevel">
  111.       <button id="shootanim" class="bu">Shoot/Stop</button>
  112.       </div>
  113. </div>
  114.  
  115. <div class="level">
  116.  <div class="innerlevel">
  117.  </div>
  118. </div>
  119.  
  120. </div>
  121.  
  122. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  123. <script>
  124. $(document).ready(function(){
  125.   $("button").click(function(){
  126.     $("#gun").toggleClass("shoot-play");
  127.     $("#component-top").toggleClass("animslider");
  128.     $("#shooting").toggleClass("flash");
  129.   });
  130. });
  131. </script>
  132.  
  133. </body>
  134. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement