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&amp;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