gsap+svg实现可拖动位置网格动画效果代码
代码语言:html
所属分类:拖放
代码描述:gsap+svg实现可拖动位置网格动画效果代码,可拖动每个网格内的svg动画。
代码标签: gsap+svg实现可拖动位置网格动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @import url("https://fonts.googleapis.com/css2?family=Tilt+Warp&display=swap"); :root { --color-blue: #154084; --color-red: #9d2719; --color-yellow: #d7b418; --color-white: #fff3e7; --color-black: #222222; --box-size: 200px; font-family: "Tilt Warp", sans-serif; color: var(--color-text); background-color: var(--color-black); } body { height: 100vh; width: 100vw; margin: 0; padding: 0; display: flex; justify-content: center; align-items: center; overflow: hidden; } #print_container { padding: 12px; background-color: var(--color-white); display: flex; flex-direction: column; justify-content: space-between; gap: 12px; } .title_container { display: flex; justify-content: space-between; align-items: end; } .title { font-size: 5rem; line-height: 5rem; font-weight: 600; letter-spacing: -2px; color: var(--color-black); margin: 0; } .color_pallet { display: flex; } .color_pallet div { width: 20px; height: 20px; } .color_pallet .blue { background-color: var(--color-blue); } .color_pallet .red { background-color: var(--color-red); } .color_pallet .yellow { background-color: var(--color-yellow); } .color_pallet .black { background-color: var(--color-black); } #grid_container { position: relative; width: calc(var(--box-size) * 4); height: calc(var(--box-size) * 4); } .cell { position: absolute; pointer-events: none; /* border: 1px solid #ffffff82; */ } .box { opacity: 0; position: absolute; top: 0; left: 0; width: var(--box-size); height: var(--box-size); line-height: var(--box-size); cursor: pointer; overflow: hidden; } .box-content { height: 100%; background-color: white; } </style> </head> <body translate="no"> <div id="print_container"> <div id="grid_container"> <!-- Following Eye --> <div class="box"> <div class="box-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> <defs> <clipPath id="clip-mask"> <path fill="none" d="M95.86 50S75.33 79.47 50 79.47 4.14 50 4.14 50 24.67 20.53 50 20.53 95.86 50 95.86 50Z" /> </clipPath> </defs> <path fill="var(--color-blue)" d="M0 0h100v100H0z" /> <g class="eye"> <path fill="var(--color-white)" d="M95.86 50S75.33 79.47 50 79.47 4.14 50 4.14 50 24.67 20.53 50 20.53 95.86 50 95.86 50Z" /> <g clip-path="url(#clip-mask)"> <circle class="eye-pupil" cx="50" cy="50" r="20.91" fill="var(--color-black)" /> </g> </g> </svg> </div> </div> <!-- ROTATING STARS --> <div class="box"> <div class="box-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> <path fill="var(--color-blue)" d="M0 0h100v100H0z" /> <path class="star" d="M42.74 25.48c-10.29 0-18.64-8.34-18.64-18.64 0 10.29-8.34 18.64-18.64 18.64 10.29 0 18.64 8.34 18.64 18.64 0-10.29 8.34-18.64 18.64-18.64Z" fill="var(--color-white)" /> <path class="star" d="M94.54 25.48c-10.29 0-18.64-8.34-18.64-18.64 0 10.29-8.34 18.64-18.64 18.64 10.29 0 18.64 8.34 18.64 18.64 0-10.29 8.34-18.64 18.64-18.64Z" fill="var(--color-white)" /> <path class="star" d="M42.74 74.52c-10.29 0-18.64-8.34-18.64-18.64 0 10.29-8.34 18.64-18.64 18.64 10.29 0 18.64 8.34 18.64 18.64 0-10.29 8.34-18.64 18.64-18.64Z" fill="var(--color-white)" /> <path class="star" d="M94.54 74.52c-10.29 0-18.64-8.34-18.64-18.64 0 10.29-8.34 18.64-18.64 18.64 10.29 0 18.64 8.34 18.64 18.64 0-10.29 8.34-18.64 18.64-18.64Z" fill="var(--color-white)" /> </svg> </div> </div> <!-- MORPHING BOXES --> <div class="box"> <div class="box-content"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 200"> <defs> <clipPath id="a"> <path fill="none" d="M0 0h100v100H0z" /> </clipPath> </defs> <path fill="var(--color-blue)" d="M0 0h100v100H0z" /> <g clip-path="url(#a)"> <g id="circles"> <g class="circle"> <circle cx="50" cy="50" r="50" fill="var(--color-white)" /> <path d="M100 50c0 27.61-22.39 50-50 50V0c27.61 0 50 22.39 50 50Z" fill="var(--color-black)" /> </g> <g class="circle"> <circle cx="50" cy="250" r="50" fill="var(--color-white)" /> <path d="M100 250c0 27.61-22.39 50-50 50V200c27.61 0 50 22.39 50 50Z" fill="var(--color-black)" /> </g> <g class="circle"> <circle cx="50" cy="150" r="50" fill="var(--color-white)" /> <path d="M0 150c0-27.61 22.39-50 50-50v100c-27.61 0-50-22.39-50-50Z" fill="var(--color-black)" /> </g> </g> </g> </svg> </div> </div> <!-- HALF CIRCLES --> <div class="box"> <div class="box-content"> <svg id="morph-boxes" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> <path fill="var(--color-blue)" d="M0 0h100v100H0z" /> <path id="morph-box-1" class="morph-box" d="M28.88 8.4H9.87v19.01l19.01 19.01h19.01V27.41L28.88 8.4z" fill="var(--color-black)" /> <path id="box-top-1" d="M9.87 8.4h19.01v19.01H9.87z" fill="var(--c.........完整代码请登录后点击上方下载按钮下载查看
网友评论0