Girl drawn and animated using only CSS.
A Pen by Adam Walker on CodePen.
Girl drawn and animated using only CSS.
A Pen by Adam Walker on CodePen.
| <div class="stage"> | |
| <div class="shadow"></div> | |
| <div class="core"> | |
| <div class="dress"></div> | |
| <div class="shoulder-r"> | |
| <div class="shoulder-r-arm-upper"> | |
| <div class="elbow-r"> | |
| <div class="elbow-r-arm-lower"> | |
| <div class="hand-r"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="shoulder-l"> | |
| <div class="shoulder-l-arm-upper"> | |
| <div class="elbow-l"> | |
| <div class="elbow-l-arm-lower"> | |
| <div class="hand-l"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="hip-r"> | |
| <div class="hip-r-leg-upper"> | |
| <div class="knee-r"> | |
| <div class="knee-r-leg-lower"> | |
| <div class="sock-r"></div> | |
| <div class="foot-r"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="hip-l"> | |
| <div class="hip-l-leg-upper"> | |
| <div class="knee-l"> | |
| <div class="knee-l-leg-lower"> | |
| <div class="sock-l"></div> | |
| <div class="foot-l"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="headcontainer"> | |
| <div class="bun-r"></div> | |
| <div class="bun-l"></div> | |
| <div class="ear-r"></div> | |
| <div class="ear-l"></div> | |
| <div class="headbg"> | |
| <div class="hair-r"></div> | |
| <div class="hair-l"></div> | |
| <div class="face"></div> | |
| <div class="smile"></div> | |
| <div class="eyes"> | |
| <div class="eyelid-t"></div> | |
| <div class="eyelid-b"></div> | |
| <div class="eye-r"> | |
| <div class="pupil-r"></div> | |
| </div> | |
| <div class="eye-l"> | |
| <div class="pupil-l"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> |
| @keyframes blink-t { | |
| 0% {top: -18px;} | |
| 48% {top: -18px;} | |
| 50% {top: 0px;} | |
| 52% {top: -18px;} | |
| 100% {top: -18px;} | |
| } | |
| @keyframes blink-b { | |
| 0% {bottom: -18px;} | |
| 48% {bottom: -18px;} | |
| 50% {bottom: 0px;} | |
| 52% {bottom: -18px;} | |
| 100% {bottom: -18px;} | |
| } | |
| @keyframes run-hip-r { | |
| 0% {-webkit-transform: rotate(-70deg); | |
| left: 83px; | |
| bottom: 14px; | |
| } | |
| 25% {bottom: 14px; | |
| } | |
| 50% {-webkit-transform: rotate(16deg); | |
| left: 56px; | |
| bottom: 28px; | |
| } | |
| 75% {bottom: 28px; | |
| } | |
| 100% {-webkit-transform: rotate(-70deg); | |
| left: 83px; | |
| bottom: 14px; | |
| } | |
| } | |
| @keyframes run-knee-r { | |
| 0% {-webkit-transform: rotate(0deg);} | |
| 25% {-webkit-transform: rotate(0deg);} | |
| 50% {-webkit-transform: rotate(97deg);} | |
| 75% {-webkit-transform: rotate(97deg);} | |
| 100% {-webkit-transform: rotate(0deg);} | |
| } | |
| @keyframes run-foot-r { | |
| 0% {-webkit-transform: rotate(0deg);} | |
| 25% {-webkit-transform: rotate(0deg);} | |
| 50% {-webkit-transform: rotate(21deg);} | |
| 75% {-webkit-transform: rotate(21deg);} | |
| 100% {-webkit-transform: rotate(0deg);} | |
| } | |
| @keyframes run-hip-l { | |
| 0% {-webkit-transform: rotate(16deg); | |
| left: 56px; | |
| bottom: 32px; | |
| } | |
| 50% {-webkit-transform: rotate(-80deg); | |
| left: 83px; | |
| bottom: 14px; | |
| } | |
| 75% {bottom: 14px; | |
| } | |
| 100% {-webkit-transform: rotate(16deg); | |
| left: 56px; | |
| bottom: 32px; | |
| } | |
| } | |
| @keyframes run-knee-l { | |
| 0% {-webkit-transform: rotate(97deg);} | |
| 25% {-webkit-transform: rotate(97deg);} | |
| 50% {-webkit-transform: rotate(0deg);} | |
| 75% {-webkit-transform: rotate(0deg);} | |
| 100% {-webkit-transform: rotate(97deg);} | |
| } | |
| @keyframes run-foot-l { | |
| 0% {-webkit-transform: rotate(21deg);} | |
| 25% {-webkit-transform: rotate(21deg);} | |
| 50% {-webkit-transform: rotate(0deg);} | |
| 75% {-webkit-transform: rotate(0deg);} | |
| 100% {-webkit-transform: rotate(21deg);} | |
| } | |
| @keyframes bob { | |
| 0% {top: 150px; | |
| -webkit-transform: rotate(30deg); | |
| } | |
| 22% {top: 220px; | |
| -webkit-transform: rotate(25deg); | |
| } | |
| 25% {top: 220px; | |
| -webkit-transform: rotate(25deg); | |
| } | |
| 50% {top: 150px; | |
| -webkit-transform: rotate(30deg); | |
| } | |
| 72% {top: 220px; | |
| -webkit-transform: rotate(25deg); | |
| } | |
| 75% {top: 220px; | |
| -webkit-transform: rotate(25deg); | |
| } | |
| 100% {top: 150px; | |
| -webkit-transform: rotate(30deg); | |
| } | |
| } | |
| @keyframes run-shoulder-r { | |
| 0% {-webkit-transform: rotate(60deg);} | |
| 50% {-webkit-transform: rotate(0deg);} | |
| 100% {-webkit-transform: rotate(60deg);} | |
| } | |
| @keyframes run-elbow-r { | |
| 0% {-webkit-transform: rotate(950deg);} | |
| 50% {-webkit-transform: rotate(940deg);} | |
| 100% {-webkit-transform: rotate(950deg);} | |
| } | |
| @keyframes run-shoulder-l { | |
| 0% {-webkit-transform: rotate(-20deg);} | |
| 50% {-webkit-transform: rotate(20deg);} | |
| 100% {-webkit-transform: rotate(-20deg);} | |
| } | |
| @keyframes run-elbow-l { | |
| 0% {-webkit-transform: rotate(950deg);} | |
| 50% {-webkit-transform: rotate(940deg);} | |
| 100% {-webkit-transform: rotate(950deg);} | |
| } | |
| @keyframes shadowbounce { | |
| 0% { width: 190px; | |
| height: 60px; | |
| left: 109px; | |
| top: 350px;} | |
| 25% { width: 230px; | |
| height: 80px; | |
| left: 99px; | |
| top: 340px;} | |
| 50% { width: 190px; | |
| height: 60px; | |
| left: 109px; | |
| top: 350px;} | |
| 75% { width: 230px; | |
| height: 80px; | |
| left: 99px; | |
| top: 340px;} | |
| 100% { width: 190px; | |
| height: 60px; | |
| left: 109px; | |
| top: 350px;} | |
| } | |
| @keyframes headbounce { | |
| 0% {-webkit-transform: rotate(-18deg); | |
| left: 0px; | |
| top: -108px;} | |
| 25% {-webkit-transform: rotate(-22deg); | |
| left: 0px; | |
| top: -102px;} | |
| 50% {-webkit-transform: rotate(-18deg); | |
| left: 0px; | |
| top: -108px;} | |
| 75% {-webkit-transform: rotate(-22deg); | |
| left: 0px; | |
| top: -102px;} | |
| 100% {-webkit-transform: rotate(-18deg); | |
| left: 0px; | |
| top: -108px;} | |
| } | |
| @keyframes eyebob { | |
| 0% {top: 42px;} | |
| 25% {top: 44px;} | |
| 50% {top: 42px;} | |
| 75% {top: 44px;} | |
| 100% {top: 42px;} | |
| } | |
| @keyframes smilebob { | |
| 0% {top: 85px;} | |
| 25% {top: 87px;} | |
| 50% {top: 85px;} | |
| 75% {top: 87px;} | |
| 100% {top: 85px;} | |
| } | |
| @keyframes bun-r-bob { | |
| 0% {top: -34px;} | |
| 25% {top: -22px;} | |
| 50% {top: -34px;} | |
| 75% {top: -22px;} | |
| 100% {top: -34px;} | |
| } | |
| @keyframes bun-l-bob { | |
| 0% {top: -32px;} | |
| 25% {top: -20px;} | |
| 50% {top: -32px;} | |
| 75% {top: -20px;} | |
| 100% {top: -32px;} | |
| } | |
| body { | |
| background: #ffe4b7; | |
| } | |
| .stage { | |
| width:480px; | |
| height:480px; | |
| background: #ffe4b7; | |
| position:relative; | |
| margin:0 auto 30px; | |
| } | |
| .core { | |
| width: 65px; | |
| height: 95px; | |
| position: absolute; | |
| left: 160px; | |
| top: 200px; | |
| -webkit-transform: rotate(25deg); | |
| animation: bob 1.2s infinite; | |
| } | |
| .shadow { | |
| width: 230px; | |
| height: 80px; | |
| background: #000; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50%; | |
| position: absolute; | |
| left: 99px; | |
| top: 390px; | |
| opacity: 0.2; | |
| z-index: 0; | |
| animation: shadowbounce 1.2s infinite; | |
| } | |
| .dress { | |
| width: 0; | |
| height: 0; | |
| border-left: 65px solid transparent; | |
| border-right: 65px solid transparent; | |
| border-bottom: 95px solid #f25437; | |
| -moz-border-radius: 50%; | |
| -webkit-border-radius: 50%; | |
| border-radius: 50%; | |
| position: absolute; | |
| left: 0px; | |
| top: 0px; | |
| z-index:2; | |
| -webkit-transform: rotate(0deg); | |
| } | |
| .headcontainer { | |
| width: 119px; | |
| height: 115px; | |
| position: absolute; | |
| left: 0px; | |
| top: -100px; | |
| z-index:3; | |
| -webkit-transform: rotate(-18deg); | |
| animation: headbounce 1.2s infinite; | |
| } | |
| .headbg { | |
| width: 119px; | |
| height: 115px; | |
| background: #3d3435; | |
| -moz-border-radius: 65px; | |
| -webkit-border-radius: 65px; | |
| border-radius: 65px; | |
| position: absolute; | |
| left: 0px; | |
| top: 0px; | |
| overflow:hidden; | |
| -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC); | |
| } | |
| .face { | |
| width: 119px; | |
| height: 115px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 65px; | |
| position: absolute; | |
| left: 14px; | |
| top: 14px; | |
| } | |
| .bun-r { | |
| width: 77px; | |
| height: 77px; | |
| background: #3d3435; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: -32px; | |
| left: -38px; | |
| z-index: 1; | |
| animation: bun-r-bob 1.2s infinite; | |
| } | |
| .bun-l { | |
| width: 77px; | |
| height: 77px; | |
| background: #3d3435; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: -30px; | |
| right: -37px; | |
| z-index: 0; | |
| animation: bun-l-bob 1.2s infinite; | |
| } | |
| .hair-r { | |
| width: 95px; | |
| height: 95px; | |
| background: #3d3435; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: -54px; | |
| left: -20px; | |
| z-index: 1; | |
| } | |
| .hair-l { | |
| width: 95px; | |
| height: 95px; | |
| background: #3d3435; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: -54px; | |
| left: 63px; | |
| z-index: 1; | |
| } | |
| .smile { | |
| height: 13px; | |
| width: 28px; | |
| border-radius: 0 0 90px 90px; | |
| -moz-border-radius: 0 0 90px 90px; | |
| -webkit-border-radius: 0 0 90px 90px; | |
| background: #fff; | |
| position: absolute; | |
| left: 56px; | |
| top: 85px; | |
| animation: smilebob 1.2s infinite; | |
| } | |
| .ear-r { | |
| width: 22px; | |
| height: 22px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: 65px; | |
| left: 5px; | |
| z-index: 1; | |
| } | |
| .ear-l { | |
| width: 22px; | |
| height: 22px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: 65px; | |
| right: -2px; | |
| z-index: 0; | |
| } | |
| .eye-r { | |
| width: 35px; | |
| height: 35px; | |
| background: #fff; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: 0px; | |
| left: 0px; | |
| z-index: 0; | |
| } | |
| .pupil-r { | |
| width: 20px; | |
| height: 20px; | |
| background: #231e1f; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: 10px; | |
| left: 10px; | |
| z-index: 0; | |
| } | |
| .eyes { | |
| height: 35px; | |
| width: 86px; | |
| top: 42px; | |
| left: 27px; | |
| position: absolute; | |
| overflow: hidden; | |
| animation: eyebob 1.2s infinite; | |
| } | |
| .eyelid-t { | |
| position: absolute; | |
| width: 100%; | |
| height: 18px; | |
| left: 0; | |
| top: -18px; | |
| z-index: 3; | |
| background: #974e3b; | |
| animation: blink-t 3s infinite; | |
| } | |
| .eyelid-b { | |
| position: absolute; | |
| width: 100%; | |
| height: 18px; | |
| left: 0; | |
| bottom: -18px; | |
| z-index: 3; | |
| background: #974e3b; | |
| animation: blink-b 3s infinite; | |
| } | |
| .eye-l { | |
| width: 35px; | |
| height: 35px; | |
| background: #fff; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: 0px; | |
| right: 0px; | |
| z-index: 0; | |
| } | |
| .pupil-l { | |
| width: 20px; | |
| height: 20px; | |
| background: #231e1f; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: 10px; | |
| left: 10px; | |
| z-index: 0; | |
| } | |
| .shoulder-r { | |
| width: 10px; | |
| height: 10px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: 20px; | |
| left: 50px; | |
| z-index: 3; | |
| overflow: visible; | |
| -webkit-transform: rotate(60deg); | |
| animation: run-shoulder-r 1.2s infinite; | |
| } | |
| .shoulder-r-arm-upper { | |
| width: 10px; | |
| height: 38px; | |
| background: #974e3b; | |
| position: absolute; | |
| top: 5px; | |
| left: 0; | |
| } | |
| .elbow-r { | |
| width: 10px; | |
| height: 10px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: -5px; | |
| left: 0px; | |
| z-index: 0; | |
| overflow: visible; | |
| -webkit-transform: rotate(950deg); | |
| animation: run-elbow-r 1.2s infinite; | |
| } | |
| .elbow-r-arm-lower { | |
| width: 10px; | |
| height: 38px; | |
| background: #974e3b; | |
| position: absolute; | |
| top: 5px; | |
| left: 0; | |
| } | |
| .hand-r { | |
| width: 18px; | |
| height: 18px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: -9px; | |
| left: 0px; | |
| z-index: 0; | |
| } | |
| .hip-r { | |
| width: 10px; | |
| height: 10px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: 14px; | |
| left: 83px; | |
| z-index: 1; | |
| overflow: visible; | |
| -webkit-transform: rotate(-70deg); | |
| animation: run-hip-r 1.2s infinite; | |
| } | |
| .hip-r-leg-upper { | |
| width: 10px; | |
| height: 38px; | |
| background: #974e3b; | |
| position: absolute; | |
| top: 5px; | |
| left: 0; | |
| } | |
| .knee-r { | |
| width: 10px; | |
| height: 10px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: -5px; | |
| left: 0px; | |
| z-index: 0; | |
| overflow: visible; | |
| -webkit-transform: rotate(0deg); | |
| animation: run-knee-r 1.2s infinite; | |
| } | |
| .knee-r-leg-lower { | |
| width: 10px; | |
| height: 38px; | |
| background: #974e3b; | |
| position: absolute; | |
| top: 5px; | |
| left: 0; | |
| } | |
| .sock-r { | |
| width:10px; | |
| height:20px; | |
| background:#fff; | |
| position: absolute; | |
| left:0; | |
| bottom:0; | |
| } | |
| .foot-r { | |
| width: 18px; | |
| height: 8px; | |
| background: #000; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: -3px; | |
| left: -1px; | |
| z-index: 0; | |
| -webkit-transform: rotate(3deg); | |
| animation: run-foot-r 1.2s infinite; | |
| } | |
| .shoulder-l { | |
| width: 10px; | |
| height: 10px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| top: 20px; | |
| left: 70px; | |
| z-index: 0; | |
| overflow: visible; | |
| -webkit-transform: rotate(20deg); | |
| animation: run-shoulder-l 1.2s infinite; | |
| } | |
| .shoulder-l-arm-upper { | |
| width: 10px; | |
| height: 38px; | |
| background: #974e3b; | |
| position: absolute; | |
| top: 5px; | |
| left: 0; | |
| } | |
| .elbow-l { | |
| width: 10px; | |
| height: 10px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: -5px; | |
| left: 0px; | |
| z-index: 0; | |
| overflow: visible; | |
| -webkit-transform: rotate(950deg); | |
| animation: run-elbow-l 1.2s infinite; | |
| } | |
| .elbow-l-arm-lower { | |
| width: 10px; | |
| height: 38px; | |
| background: #974e3b; | |
| position: absolute; | |
| top: 5px; | |
| left: 0; | |
| } | |
| .hand-l { | |
| width: 18px; | |
| height: 18px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: -9px; | |
| left: 0px; | |
| z-index: 0; | |
| } | |
| .hip-l { | |
| width: 10px; | |
| height: 10px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: 14px; | |
| left: 56px; | |
| z-index: 1; | |
| overflow: visible; | |
| -webkit-transform: rotate(16deg); | |
| animation: run-hip-l 1.2s infinite; | |
| } | |
| .hip-l-leg-upper { | |
| width: 10px; | |
| height: 38px; | |
| background: #974e3b; | |
| position: absolute; | |
| top: 5px; | |
| left: 0; | |
| } | |
| .knee-l { | |
| width: 10px; | |
| height: 10px; | |
| background: #974e3b; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: -5px; | |
| left: 0px; | |
| z-index: 0; | |
| overflow: visible; | |
| -webkit-transform: rotate(97deg); | |
| animation: run-knee-l 1.2s infinite; | |
| } | |
| .knee-l-leg-lower { | |
| width: 10px; | |
| height: 38px; | |
| background: #974e3b; | |
| position: absolute; | |
| top: 5px; | |
| left: 0; | |
| } | |
| .sock-l { | |
| width:10px; | |
| height:20px; | |
| background:#fff; | |
| position: absolute; | |
| left:0; | |
| bottom:0; | |
| } | |
| .foot-l { | |
| width: 18px; | |
| height: 8px; | |
| background: #000; | |
| -moz-border-radius: 50px; | |
| -webkit-border-radius: 50px; | |
| border-radius: 50px; | |
| position: absolute; | |
| bottom: -3px; | |
| left: -1px; | |
| z-index: 0; | |
| -webkit-transform: rotate(21deg); | |
| animation: run-foot-l 1.2s infinite; | |
| } |