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