gsap+svg实现拖动放大滑块特效代码

代码语言:html

所属分类:拖放

代码描述:gsap+svg实现拖动放大滑块特效代码

代码标签: gsap svg 拖动 放大 滑块 特效 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  
  <meta
      name="viewport"
      content="width=device-width, initial-scale=1, user-scalable=0, maximum-scale=1.0"
    />

    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="https://public.codepenassets.com/css/normalize-5.0.0.min.css">

  
  
<style>
@import url('https://unpkg.com/normalize.css') layer(normalize);

@layer normalize, base, demo, explode;

@layer explode {
  .slider [type=range] {
    transition-property: filter, opacity, translate;
    transition-duration: 0.22s;
    transition-timing-function: ease-out;
  }
  .slider { touch-action: none; }
  [data-explode='true'] {
    .slider [type=range] {
      filter: blur(0);
      opacity: 1;
      translate: 0 100px;
    }
    .arrow {
      opacity: 0.7;
      filter: blur(0);
    }
  }
  body { overflow: hidden; }
  .arrow {
    opacity: 0;
    font-family: 'Gloria Hallelujah', cursive;
    font-size: 0.875rem;
    position: absolute;
    left: 50%;
    top: 50%;
    opacity: 0;
    rotate: 10deg;
    filter: blur(4px);
    transition: opacity 0.22s ease-out, filter 0.22s ease-out;
    pointer-events: none;
    line-height: 1.5;
    translate: 150px 110px;

    span {
      white-space: nowrap;
    }
    svg {
      bottom: calc(100% + 10px);
      position: absolute;
      rotate: 86deg;
      translate: -50% 0;
      scale: -1 -1;
      left: 0;
      width: 60px;
    }
  }
}

@layer demo {
  .reference {
    position: fixed;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: -1;
    width: 60px;
  }

  .slider {
    /* outline: 2px dashed red; */
    width: 260px;
    height: 44px;
    position: relative;
    opacity: 0;
  }
  .slider [type=range] {
    position: absolute;
    inset: 0;
    filter: blur(4px);
    opacity: 0;
    accent-color: canvasText;
  }
  .slider svg {
    width: 260px;
    position: absolute;
    top: 50%;
    left: 0;
    pointer-events: none;
    translate: 0 -50%;

    overflow: visible !important;
    
    .track {
      stroke: currentColor;
      stroke-width: 3px;
      stroke-dasharray: 0 15;
      stroke-dashoffset: -0.5;
      strok.........完整代码请登录后点击上方下载按钮下载查看

网友评论0