gsap实现网页滚动控制视频播放进度时间标尺效果代码

代码语言:html

所属分类:加载滚动

代码描述:gsap实现网页滚动控制视频播放进度时间标尺效果代码

代码标签: gsap 网页 滚动 控制 视频 播放 进度 时间 标尺

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

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

<head>
  <meta charset="UTF-8">
  

  <meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="format-detection" content="telephone=no">
  
  
  
<style>
:root {
  --dark-color-h: 334.29;
  --dark-color-s: 32.03%;
  --dark-color-l: 30%;
  --light-color-h: 19.2;
  --light-color-s: 30.86%;
  --light-color-l: 84.12%;
  --dark-color: hsl(
    var(--dark-color-h),
    var(--dark-color-s),
    var(--dark-color-l)
  );
  --dark-color-lighter: hsl(
    var(--dark-color-h),
    var(--dark-color-s),
    calc(var(--dark-color-l) + 10%)
  );
  --dark-color-darker: hsl(
    var(--dark-color-h),
    var(--dark-color-s),
    calc(var(--dark-color-l) - 10%)
  );
  --dark-color-translucent: hsla(
    var(--dark-color-h),
    var(--dark-color-s),
    var(--dark-color-l),
    0.75
  );
  --dark-color-darker-translucent: hsla(
    var(--dark-color-h),
    var(--dark-color-s),
    calc(var(--dark-color-l) - 10%),
    0.75
  );
  --light-color: hsl(
    var(--light-color-h),
    var(--light-color-s),
    var(--light-color-l)
  );
  --light-color-lighter: hsl(
    var(--light-color-h),
    var(--light-color-s),
    calc(var(--light-color-l) + 10%)
  );
  --light-color-darker: hsl(
    var(--light-color-h),
    var(--light-color-s),
    calc(var(--light-color-l) - 10%)
  );
  --light-color-translucent: hsla(
    var(--light-color-h),
    var(--light-color-s),
    var(--light-color-l),
    0.75
  );
  --color-bg: var(--dark-color);
  --color-text: var(--light-color);
  --color-muted: color-mix(
    in oklab,
    var(--color-text) 50%,
    var(--color-bg) 50%
  );
  --color-accent: color-mix(
    in oklab,
    var(--color-text) 80%,
    var(--color-bg) 20%
  );
  --color-border: color-mix(
    in oklab,
    var(--color-text) 30%,
    var(--color-bg) 70%
  );
  --resources-bg-color: var(--dark-color-darker-translucent);
  --resources-active-color: color-mix(
    in srgb,
    var(--light-color) 75%,
    transparent
  );
  --resources-color: var(--color-text);
  --ts-h6: clamp(12px, 1.0753vw + 8.9892px, 20px);
  --ts-h5: clamp(14.4px, 1.2903vw + 10.7871px, 24px);
  --ts-h4: clamp(17.28px, 1.5484vw + 12.9445px, 28.8px);
  --ts-h3: clamp(20.736px, 1.8581vw + 15.5334px, 34.56px);
  --ts-h2: clamp(24.8832px, 2.2297vw + 18.6401px, 41.472px);
  --ts-h1: clamp(29.8598px, 2.6756vw + 22.3681px, 49.7664px);
}

*,
::after,
::before {
  border-style: solid;
  border-width: 0;
  box-sizing: border-box;
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans",
    Arial, sans-serif;
  line-height: 1.5;
  margin: 0;
  min-height: 100vh;
  width: 100%;
}

.viewport-wrapper {
  height: auto;
  overflow: visible;
  position: relative;
}

.content-scroll {
  display: block;
  width: 100%;
}

body:not(.normalize-scroll) .viewport-wrapper {
  bottom: 0;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
}

body:not(.normalize-scroll) .content-scroll {
  overflow: visible;
}

body:not(.normalize-scroll) .content-scroll .sv-wrapper {
  perspective: 2000px;
}

body:not(.normalize-scroll) .content-scroll .pin-spacer {
  transform-style: preserve-3d;
}

h2 {
  font-size: var(--ts-h2);
}

h2,
h3 {
  color: var(--color-accent);
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 1.3;
  margin-bottom: 0.65rem;
  margin-top: 0;
}

h3 {
  font-size: var(--ts-h3);
}

ul {
  padding-left: 1.2rem;
}

li {
  margin-bottom: 0.5em;
}

code {
  background: var(--dark-color-darker-translucent);
  border-radius: 0.1875rem;
  padding: 0.125rem 0.25rem;
  white-space: normal;
  word-break: break-word;
}

pre code {
  overflow-x: auto;
  padding: 1rem;
  white-space: pre;
  word-break: normal;
}

main,
pre code {
  display: block;
}

main {
  margin: 0;
  position: relative;
}

section {
  display: block;
  psoition: relative;
}

section.intro {
  margin: 4rem auto;
  max-width: 56.25rem;
  width: calc(100% - 2rem);
}

section.intro a,
section.intro a:visited {
  color: var(--color-text);
}

section.intro a:active {
  color: var(--color-accent);
}

section.intro a:focus-visible {
  color: var(--color-accent);
  outline: none;
}

section:has(.sv-wrapper) {
  background: var(--dark-color-darker);
  padding: 4rem 0;
}

.sv-wrapper {
  display: block;
  margin-inline: auto;
  max-width: 64rem;
  position: relative;
  width: calc(100% - 2rem);
}

.sv-pin-container {
  aspect-ratio: 16/9;
  border-radius: 1.5vh;
  display: grid;
  max-height: 100lvh;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.sv-wrapper.video-ready .sv-preloader {
  opacity: 0;
}

.sv-video {
  -o-object-fit: cover;
  object-fit: cover;
  pointer-events: false;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.sv-cue,
.sv-video {
  display: block;
  grid-area: 1.........完整代码请登录后点击上方下载按钮下载查看

网友评论0