gsap+ScrollTrigger实现可调节参数的横向图片相册立体弧形滚动效果代码
代码语言:html
所属分类:加载滚动
代码描述:gsap+ScrollTrigger实现可调节参数的横向图片相册立体弧形滚动效果代码,通过tweakpane可修改参数,实现不同的排列效果。
代码标签: gsap ScrollTrigger 调节 参数 横向 图片 相册 立体 弧形 滚动
下面为部分代码预览,完整代码请点击下载或在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 type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/normalize.5.0.css"> <style> @import "normalize.css"; html { color-scheme: light only; } [data-dark="true"] { color-scheme: dark only; } *, *:after, *:before { box-sizing: border-box; } body { display: grid; place-items: center; min-height: 100svh; font-family: "SF Pro Text", "SF Pro Icons", "AOS Icons", "Helvetica Neue", Helvetica, Arial, sans-serif, system-ui; overflow: hidden; } body::before { --size: 60px; --line: color-mix(in lch, canvasText 35%, hsl(0 0% 100% / 0.25)); content: ''; height: 100svh; width: 100vw; position: fixed; background: linear-gradient( 90deg, var(--line) 1px, transparent 1px var(--size) ) 50% 50% / var(--size) var(--size), linear-gradient(var(--line) 1px, transparent 1px var(--size)) 50% 50% / var(--size) var(--size); -webkit-mask: linear-gradient(-25deg, transparent 65%, white); mask: linear-gradient(-25deg, transparent 65%, white); top: 0; transform-style: flat; pointer-events: none; z-index: -1; } main { transform-style: preserve-3d; position: relative; transition: scale 0.2s; height: 100svh; display: grid; place-items: center; width: 100%; } .container { --scroll-padding: 0px; --inner-angle: calc((360 / var(--total)) * 1deg); --item-width: clamp(120px, 20vmin, 12rem); --scroll-buff: calc(var(--item-width) * var(--scroll-ratio)); --gap: calc(var(--item-width) * var(--gap-efficient, 0.1)); --radius: calc(((var(--item-width) + var(--gap)) / sin(var(--inner-angle))) * -1); position: relative; width: 100%; height: 100%; overflow: auto; timeline-scope: --controller; } [data-infinite="true"] .container { --scroll-padding: calc(var(--item-width) * 0.01); --scroll-padding: 5px; } ul { list-style-type: none; padding: 0; margin: 0; display: grid; } img { border-radius: 12px; width: 100%; height: 100%; background-color: color-mix(in lch, canvasText 25%, canvas); } h1 { position: fixed; bottom: 1rem; right: 1rem; color: color-mix(in lch, canvasText, transparent); opacity: 0; transition: opacity 0.2s; } [data-scroll=true] h1 { opacity: 1; } .carousel { padding: 0; } .carousel { display: flex; } .carousel .........完整代码请登录后点击上方下载按钮下载查看
网友评论0