會動的漢克狗: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Cartoon Dog</title> </head> <body> <div class="dog"> <div class="head"> ...
會動的漢克狗:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Cartoon Dog</title> </head> <body> <div class="dog"> <div class="head"> <div class="forehead"></div> <div class="face"></div> <div class="chin"></div> <div class="eye"> <div class="pupil"></div> </div> <div class="eye right"> <div class="pupil"></div> </div> <div class="birthmark"></div> <div class="ear"></div> <div class="ear right"></div> <div class="nose"> <div class="nostril"></div> <div class="nostril right"></div> </div> <div class="mouth"> <div class="teen no11"></div> <div class="teen no21"></div> <div class="tongue"></div> </div> </div> <div class="body"> <div class="arm"></div> <div class="arm right"></div> <div class="leg"> <div class="foot"></div> </div> <div class="leg right"> <div class="foot"></div> </div> <div class="belly"></div> </div> </div> <style> :root { --bg: rgb(249, 249, 246); --hl: rgb(27, 47, 144); --t: 2s; } body { background: url(img/bg.jpg) no-repeat; background-size: 100%; overflow: hidden; } .dog { position: relative; top: 78vh; left: -10vw; /*transform: scale(1, 1);*/ } .head { width: 275px; height: 275px; position: relative; margin: 0 auto; } .ear { animation: rotate var(--t) ease-out infinite; position: absolute; left: 50%; margin-left: -38px; top: 14px; z-index: 0; background-color: var(--hl); width: 16px; height: 70px; border-radius: 50%; } .ear.right { animation: rotate-right var(--t) ease-out infinite; transform: scale(-1, 1); margin-left: 22px; } .forehead { left: 50%; transform: translate(-50%, 0); top: -22px; border-radius: 51px / 43px 43px 5px 5px; width: 102px; height: 48px; background: var(--bg); position: absolute; z-index: 1 } .face { left: 50%; transform: translate(-50%, 0); width: 110px; height: 68px; position: absolute; background: var(--bg); z-index: 1; border-radius: 40% / 50%; } .chin { left: 50%; transform: translate(-50%, 0); width: 104px; height: 36px; position: absolute; background: var(--bg); z-index: 1; border-radius: 50% / 0 0 36px 36px; top: 41px; } .eye { overflow: hidden; box-shadow: 2px 0px 0px -1px #000 inset, -1px -1px 7px 1px #bbb; left: 50%; transform: translate(-43.5px, 0); width: 24px; height: 24px; position: absolute; background: var(--bg); z-index: 2; border-radius: 50% / 20px 12px 12px 4px; top: -2px; } .eye.right { box-shadow: 2px 0px 0px -1px #000 inset; transform: scale(-1, 1) translate(-21.5px, 0); } .birthmark { left: 50%; transform: rotate(-10deg) translate(16.5px, 0); width: 30px; height: 36px; position: absolute; background: var(--hl); z-index: 2; border-radius: 50% / 18px 34px 2px 18px; top: -9px; z-index: 1 } .birthmark:after { content: ''; width: 100%; height: 2px; background: var(--bg); border-radius: 2px 2px 0 0; position: absolute; bottom: -1px; left: 1px } .nose { left: 50%; transform: translate(-50%, 0); width: 62px; height: 38px; position: absolute; background: #363035; z-index: 2; border-radius: 50% / 35% 35% 65% 65%; top: 17px } .nose:before { content: ''; width: 98%; height: 40%; left: 50%; transform: translate(-50%, 0); position: absolute; background: linear-gradient(30deg, #fff 0%, #fff 5%, #aaa 20%, #363035 100%); border-radius: 50% / 90% 90% 10% 10%; opacity: 0.8 } .mouth { animation: close var(--t) ease-out infinite; box-shadow: 0 0 6px 0 #000 inset; left: 50%; transform: translate(-50%, 0); width: 68px; height: 27px; position: absolute; background: #671316; z-index: 1; border-radius: 50% / 0 0 100% 100%; top: 45px } .mouth:before { content: ''; z-index: 3; width: 100%; height: 50%; left: 50%; transform: translate(-50%, 0); position: absolute; background: var(--bg); border-radius: 50% / 0 0 70% 70% } .pupil { animation: tranlate var(--t) ease-out infinite; box-shadow: 0 0 6px 0 #000 inset; width: 26px; height: 26px; border-radius: 50%; background: #e79101; position: absolute; left: 3px; top: 3px } .pupil:before { border-radius: 50%; content: ''; width: 18px; height: 18px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: #000 } .pupil:after { border-radius: 50%; content: ''; width: 6px; height: 6px; position: absolute; left: 27%; top: 30%; transform: translate(-50%, -50%); background: #fff } .nostril { animation: resize var(--t) ease-out infinite; position: absolute; left: 50%; transform: translate(-20px, 0) rotate(28deg); top: 22px; z-index: 0; background: linear-gradient(0deg, #363035 0%, #000 100%); width: 15px; height: 4px; border-radius: 50%; } .nostril.right { transform: scale(-1, 1) translate(-6px, 0) rotate(28deg) } .teen { animation: follow var(--t) ease-out infinite; border-radius: 0 0 1px 2px; transform: translate(-50%, 0); width: 10px; height: 3px; background: var(--bg); position: absolute; top: 12px; left: 43%; z-index: 2 } .teen.no21 { transform: scale(-1, 1) translate(-50%, 0) } .tongue { animation: extend var(--t) ease-out infinite; box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.5) inset; width: 34px; height: 18px; border-radius: 50% / 0 0 50% 50%; transform: translate(-50%, 0); position: absolute; left