div+css实现滚筒式洗衣机清洗宠物动画效果代码
代码语言:html
所属分类:动画
代码描述:div+css实现滚筒式洗衣机清洗宠物动画效果代码
代码标签: div css 滚筒式 洗衣机 清洗 宠物 动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } :root { --timing: 2500ms; } body { display: grid; place-items: center; height: 100vh; overflow: hidden; background-color: #69B6E1; font-size: clamp(0.6rem, calc(1vw + 0.1rem), 1.5rem); } body * { position: absolute; } body *::before, body *::after { position: absolute; } .playground { --bottom-elements: 2.4em; --main-width: 30em; width: var(--main-width); height: var(--main-width); } /* ----- Shadow ----- */ .shadow { width: calc(var(--main-width) + 5em); height: 1em; border-radius: 0.5em; bottom: 2em; left: 0.5em; background-color: rgba(0, 0, 0, 0.2); z-index: -1; } /* ----- Washing machine ----- */ .washing-machine { --delay-animation: 500ms; width: 17.5em; height: 25em; animation: shake-machine var(--time, 2500ms) var(--delay, 0ms) infinite ease; bottom: var(--bottom-elements); left: 4em; border-radius: 2.5em 2.5em 1em 1em; background: linear-gradient(#F2FBFF 82%, #E5EBEE 82%, #E5EBEE 83%, #F2FBFF 83%); box-shadow: 4.25em 0 #C5C7C8; z-index: 1; } @keyframes shake-machine { 10% { transform: translateY(-0.125em); } 11% { transform: translateY(0); } 12% { transform: translateY(-0.125em); } 13% { transform: translateY(0); } 14% { transform: translateY(-0.125em); } 15% { transform: translateY(0); } 16% { transform: translateY(-0.125em); } 17% { transform: translateY(0); } 18% { transform: translateY(-0.125em); } 19% { transform: translateY(0); } 20% { transform: translateY(-0.125em); } 21% { transform: translateY(0); } 22% { transform: translateY(-0.125em); } 23% { transform: translateY(0); } 24% { transform: translateY(-0.125em); } 25% { transform: translateY(0); } 26% { transform: translateY(-0.125em); } 27% { transform: translateY(0); } 28% { transform: translateY(-0.125em); } 29% { transform: translateY(0); } 30% { transform: translateY(-0.125em); } 31% { transform: translateY(0); } 32% { transform: translateY(-0.125em); } 33% { transform: translateY(0); } 34% { transform: translateY(-0.125em); } 35% { transform: translateY(0); } 36% { transform: translateY(-0.125em); } 37% { transform: translateY(0); } 38% { transform: translateY(-0.125em); } 39% { transform: translateY(0); } 40% { transform: translateY(-0.125em); } 41% { transform: translateY(0); } 42% { transform: translateY(-0.125em); } 43% { transform: translateY(0); } 44% { transform: translateY(-0.125em); } 45% { transform: translateY(0); } 46% { transform: translateY(-0.125em); } 47% { transform: translateY(0); } 48% { transform: translateY(-0.125em); } 49% { transform: translateY(0); } 50% { transform: translateY(-0.125em); } 51% { transform: translateY(0); } 52% { transform: translateY(-0.125em); } 53% { transform: translateY(0); } } .washing-machine .board { width: 90%; height: 2.5em; display: flex; align-items: center; gap: 0.5em; padding-inline: 1.5em; top: 2.25em; left: 5%; border-radius: 1em; background-color: #E8F1F4; } .washing-machine .board .button { width: 1.5em; height: 0.65em; position: static; border-radius: 0.15em; background-color: #D9DDDF; box-shadow: 0.15em 0 #C2C4C6; } .washing-machine .board .button:nth-of-type(2) { margin-right: auto; } .washing-machine .board .button.circle { width: 1.2em; height: 1.2em; border-radius: 50%; } .washing-machine .badge { width: 3.25em; height: 1.85em; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding-block: 0.35em; bottom: 0.65em; right: 2em; background-color: #E5EBEE; box-shadow: -0.15em 0 #C5C7C8; border-radius: 0.25em; } .washing-machine .badge::before { width: 1.25em; height: 0.2em; content: ""; top: -0.2em; background-color: #D4D8DA; border-radius: 0.05em 0.05em 0 0; z-index: -1; } .washing-machine .badge .line { width: 65%; height: 0.175em; flex: none; position: static; border-radius: 0.1em; background-color: #D4D8DA; } /* ----- Clothes ----- */ .clothes { right: -4em; bottom: var(--bottom-elements); } .clothes .shirt { --bg: #FCB900; --shadow: #D59800; --extra-bg: linear-gradient(transparent, transparent); --shadow-size: 85%; --height: 0.75em; width: 7em; height: var(--height); position: static; border-radius: calc(var(--height) / 2); background: var(--extra-bg), radial-gradient(circle calc(var(--height) / 2) at var(--shadow-size) 50%, var(--bg) 100%, transparent 0), linear-gradient(90deg, var(--bg) var(--shadow-size), var(--shadow) var(--shadow-size)); } .clothes .shirt.orange { --bg: #EE6E02; --shadow: #C55602; } .clothes .shirt.white { --extra-bg-color: #CCD0D2; --bg: #F7EAEA; --shadow: #CCD0D2; --extra-bg: linear-gradient(90deg, transparent 60%, var(--extra-bg-color) 60%, var(--.........完整代码请登录后点击上方下载按钮下载查看
网友评论0