gsap实现两种风格添加购物车动画效果代码
代码语言:html
所属分类:动画
代码描述:gsap实现两种风格添加购物车动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Inter:400,500,600,700&display=swap'> <style> .add-to-cart { --background-default: #17171B; --background-hover: #0A0A0C; --background-scale: 1; --text-color: #fff; --text-o: 1; --text-x: 12px; --cart: #fff; --cart-x: -48px; --cart-y: 0px; --cart-rotate: 0deg; --cart-scale: .75; --cart-clip: 0px; --cart-clip-x: 0px; --cart-tick-offset: 10px; --cart-tick-color: #FF328B; --shirt-y: -16px; --shirt-scale: 0; --shirt-color: #17171B; --shirt-logo: #fff; --shirt-second-y: 24px; --shirt-second-color: #fff; --shirt-second-logo: #17171B; -webkit-tap-highlight-color: transparent; -webkit-appearance: none; outline: none; background: none; border: none; padding: 12px 0; width: 164px; margin: 0; cursor: pointer; position: relative; font-family: inherit; } .add-to-cart:before { content: ""; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: 5px; transition: background 0.25s; background: var(--background, var(--background-default)); transform: scaleX(var(--background-scale)) translateZ(0); } .add-to-cart:not(.active):hover { --background: var(--background-hover); } .add-to-cart span { display: block; text-align: center; position: relative; z-index: 1; font-size: 14px; font-weight: 600; line-height: 24px; color: var(--text-color); opacity: var(--text-o); transform: translateX(var(--text-x)) translateZ(0); } .add-to-cart svg { display: block; width: var(--svg-width, 24px); height: var(--svg-height, 24px); position: var(--svg-position, relative); left: var(--svg-left, 0); top: var(--svg-top, 0); stroke-linecap: round; stroke-linejoin: round; } .add-to-cart svg path { fill: var(--svg-fill, none); stroke: var(--svg-stroke, none); stroke-width: var(--svg-stroke-width, 2); } .add-to-cart .morph { --svg-width: 64px; --svg-height: 13px; --svg-left: 50%; --svg-top: -12px; --svg-position: absolute; --svg-fill: var(--background, var(--background-default)); transition: fill 0.25s; pointer-events: none; margin-left: -32px; } .add-to-cart .shirt, .add-to-cart .cart { pointer-events: none; position: absolute; left: 50%; } .add-to-cart .shirt { margin: -12px 0 0 -12px; top: 0; transform-origin: 50% 100%; transform: translateY(var(--shirt-y)) scale(var(--shirt-scale)); } .add-to-cart .shirt svg { --svg-fill: var(--shirt-color); } .add-to-cart .shirt svg g { --svg-fill: var(--svg-g-fill, var(--shirt-logo)); } .add-to-cart .shirt svg.second { --svg-fill: var(--shirt-second-color); --svg-g-fill: var(--shirt-second-logo); --svg-position: absolute; -webkit-clip-path: polygon(0 var(--shirt-second-y), 24px var(--shirt-second-y), 24px 24px, 0 24px); clip-path: polygon(0 var(--shirt-second-y), 24px var(--shirt-second-y), 24px 24px, 0 24px); } .add-to-cart .cart { --svg-width: 36px; --svg-height: 26px; --svg-stroke: var(--cart); top: 10px; margin-left: -18px; transform: translate(var(--cart-x), var(--cart-y).........完整代码请登录后点击上方下载按钮下载查看
网友评论0