gsap+svg滑动图标菜单动画切换效果代码
代码语言:html
所属分类:菜单导航
代码描述:gsap+svg滑动图标菜单动画切换效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { background-image: radial-gradient(circle at 48% 33%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.04) 8%,transparent 8%, transparent 92%),radial-gradient(circle at 28% 16%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.04) 8%,transparent 8%, transparent 92%),radial-gradient(circle at 34% 52%, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.03) 6%,transparent 6%, transparent 94%),radial-gradient(circle at 92% 52%, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.03) 6%,transparent 6%, transparent 94%),radial-gradient(circle at 77% 84%, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.03) 6%,transparent 6%, transparent 94%),radial-gradient(circle at 75% 64%, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.03) 6%,transparent 6%, transparent 94%),radial-gradient(circle at 70% 62%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.04) 4%,transparent 4%, transparent 96%),radial-gradient(circle at 55% 100%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.04) 4%,transparent 4%, transparent 96%),radial-gradient(circle at 12% 11%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.04) 4%,transparent 4%, transparent 96%),radial-gradient(circle at 35% 55%, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.04) 4%,transparent 4%, transparent 96%),linear-gradient(45deg, rgb(26, 21, 192),rgb(171, 83, 239)); } #tabbar { --c-color: #3fee78; --c-background: #000; --indicator-x: 34px; --indicator-circle-o: 1; --indicator-circle-y: 0px; -webkit-tap-highlight-color: transparent; border-radius: 15px; overflow: hidden; position: relative; background: var(--c-background); } #tabbar .indicator { position: absolute; z-index: 1; left: 0; bottom: 0; display: block; width: 68px; height: 72px; fill: var(--c-color); transform: translateX(var(--indicator-x)); } #tabbar .indicator path { transform: translateY(2px); } #tabbar .indicator circle { opacity: var(--indicator-circle-o); transform: translateY(var(--indicator-circle-y)) translateZ(0); } #tabbar ul { padding: 0; margin: 0; list-style: none; width: 375px; height: 100px; display: flex; justify-content: center; align-items: center; position: relative; z-index: 1; } #tabbar ul li { --icon-y: 0px; --icon-s: 1; --icon-circle: 0px; } #tabbar ul li:not(:first-child) { margin-left: 26px; } #tabbar ul li:not(:last-child) { margin-right: 26px; } #tabbar ul li.active { --icon-circle: 28px; } #tabbar ul li button { display: block; width: 28px; height: 28px; padding: 0; margin: 0; cursor: pointer; outline: none; background: none; border: none; position: relative; -webkit-appearance: none; transform: translateY(var(--icon-y)) scale(var(--icon-s)) translateZ(0); } #tabbar ul li button:before { content: ""; position: absolute; z-index: 1; left: 0; top: 0; right: 0; bottom: 0; border-radius: 50%; background: var(--c-background); -webkit-clip-path: circle(var(--icon-circle) at 50% 100%); clip-path: circle(var(--icon-circle) at 50% 100%); } #tabbar ul li button svg { color: var(--c-color); display: block; overflow: visible; width: 28px; height: 28px; } #tabbar ul li button svg:last-child { position: absolute; z-index: 2; top: 0; left: 0; -webkit-clip-path: circle(var(--icon-circle) at 50% 100%); clip-path: circle(var(--icon-circle) at 50% 100%); } html { box-sizing: border-box; -webkit-font-smoothing: antialiased; } * { box-sizing: inherit; } *:before, *:after { box-sizing: inherit; } body { font-family: "Poppins", Arial; min-height: 90vh; display: flex; justify-content: center; align-items: center; } body .dribbble { position: fixed; display: block; right: 20px; bottom: 20px; } body .dribbble img { display: block; height: 28px; } body .twitter { position: fixed; display: block; right: 64px; bottom: 14px; } body .twitter svg { width: 32px; height: 32px; fill: #1da1f2; } </style> </head> <body> <!-- partial:index.partial.html --> <div id="tabbar"> <ul> <li class="active"> <button> <svg> <use xlink:href="#icon-home"/> </svg> <svg> <use xlink:href="#icon-home-filled"/> </svg> </button> </li> <li> <button> <svg> <use xlink:href="#icon-chat"/> </svg> <svg> <use xlink:href="#icon-chat-filled"/> </svg> </button> </li> <li> <button> <svg> <use xlink:href="#icon-folder"/> </svg> <svg> <use xlink:href="#icon-folder-filled"/> </svg> </button> </li> <li> <button> <svg> <use xlink:href="#icon-user"/> </svg> <svg> <use xlink:href="#icon-user-filled"/> </svg> </button> </li> </ul> <svg class="indicator" viewBox="0 0 68 72"> <defs> <filter id="goo" x="-50%" width="200%" y="-50%" height="200%" color-interpolation-filters="sRGB"> <feGaussianBlur in="SourceG.........完整代码请登录后点击上方下载按钮下载查看
网友评论0