Popsicle Loader
CSS Code
body { background: #33485F; } .container { height: 280px; width: 200px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .popsicle { height: 180px; width: 120px; border-radius: 55px 55px 10px 10px; position: relative; display: block; margin: 0 auto; overflow: hidden; -webkit-animation: float 2s ease-in infinite alternate; animation: float 2s ease-in infinite alternate; } .popsicle:before { content: ""; height: 120%; width: 140%; position: absolute; left: -20%; top: -10%; background-image: -webkit-linear-gradient(bottom, #F63999 25%, #30dcf6 25%, #30dcf6 50%, #f2d200 50%, #f2d200 75%, #70ca5c 75%); background-image: linear-gradient(0deg, #F63999 25%, #30dcf6 25%, #30dcf6 50%, #f2d200 50%, #f2d200 75%, #70ca5c 75%); display: block; -webkit-transform: rotate(-20deg); transform: rotate(-20deg); -webkit-animation: magic 2.5s linear infinite; animation: magic 2.5s linear infinite; } @-webkit-keyframes magic { to { background-position: 0 210px; } } @keyframes magic { to { background-position: 0 210px; } } .popsicle:after { content: ''; position: absolute; left: 10px; bottom: 10px; width: 13px; height: 120px; border-radius: 50px; background: rgba(255, 255, 255, 0.35); } .stick { width: 38px; height: 45px; background: #E09C5F; border-radius: 0 0 12px 12px; display: block; margin: 0 auto; -webkit-animation: float 2s ease-in infinite alternate; animation: float 2s ease-in infinite alternate; } .stick:after { display: block; content: ''; width: 100%; height: 14px; background: rgba(0, 0, 0, 0.4); } @-webkit-keyframes float { to { -webkit-transform: translateY(20px); transform: translateY(20px); } } @keyframes float { to { -webkit-transform: translateY(20px); transform: translateY(20px); } } .shadow { width: 124px; height: 35px; background: rgba(0, 0, 0, 0.2); border-radius: 60px / 22px; display: block; margin: 0 auto; -webkit-transform: scaleY(0.7) translateY(30px); transform: scaleY(0.7) translateY(30px); -webkit-animation: shad 2s ease-in infinite alternate; animation: shad 2s ease-in infinite alternate; } @-webkit-keyframes shad { to { -webkit-transform: scaleX(0.9) scaleY(0.7) translateY(30px); transform: scaleX(0.9) scaleY(0.7) translateY(30px); } } @keyframes shad { to { -webkit-transform: scaleX(0.9) scaleY(0.7) translateY(30px); transform: scaleX(0.9) scaleY(0.7) translateY(30px); } }
HTML Code
<div class='container'> <div class='popsicle'> <div class='colors'></div> </div> <div class='stick'></div> <div class='shadow'></div> </div>
LIVE PREVIEW
See the Pen Popsicle Loader by Peternak Blog (@peternakblog) on CodePen.
Credit: Robin Delaporte