css+svg实现大气鼠标滚动页面内容横向竖向跟随滚动代码
代码语言:html
所属分类:加载滚动
代码描述:css+svg实现大气鼠标滚动页面内容横向竖向跟随滚动代码,向下滚动页试试。
代码标签: css svg 大气 鼠标 滚动 页面 内容 横向 跟随 竖向 滚动 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/reset.min.css"> <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Indie+Flower&display=swap'> <style> *,*::before,*::after { box-sizing: border-box; } :root { --items: min(30rem, 70vw); --color-base: #181213; scroll-timeline: --page block; @media (prefers-reduced-motion: no-preference) { scroll-behavior: smooth; } } body { font: 300 1rem/1.33 "Helvetica"; color: var(--color-base); display: grid; overflow-x: hidden; } img { inline-size: 100%; max-inline-size: 100%; block-size: auto; } hr[id] { border: 0; margin: 0; } /* animations */ @keyframes clip { to { transform: scale(1.75); } } @keyframes scroll { to { translate: calc((var(--items) * -3) + 20vw) 0; } } @keyframes moveup { to { transform: translateY(var(--moveup)); } } @keyframes reveal { 85%, 100% { opacity: 1 } 100% { transform: translateY(0); } } body > svg { block-size: 0; inline-size: 0; clipPath { transform-origin: 50vw 50vh; /* on retina displays the transform-origin * seems bugged (opened an issue on * https://issues.chromium.org/issues/366293477) */ @media (-webkit-min-device-pixel-ratio: 1.5) { transform-origin: 100vw 100vh; } transform: scale(0); animation: linear clip 1 forwards; animation-timeline: --page; animation-range: entry 10dvb exit 100dvb; } } /* header */ header { position: fixed; z-index: 1; inset: 0 0 auto 0; background: #fff; @supports (animation-timeline: view()) { --moveup: -101%; animation: ease-out moveup 1 forwards; animation-timeline: --page; animation-range: entry 30dvb exit 57dvb; } > div { display: flex; justify-content: space-between; align-items: center; gap: 1rem 2rem; margin: 0 10vw; border-bottom: 1px solid; padding-block: 2rem; } svg { inline-size: 8rem; } ul { display: flex; gap: 2.5rem; :any-link { font-weight: 300; font-size: 1.25rem; color: inherit; text-decoration: none; } } } /* general sections style */ section { padding-block: 7dvb; h2 { font-size: clamp(3rem, 6vw, 6rem); line-height: 1; letter-spacing: -.15rem; font-weight: 300; text-shadow: 0 0 1px currentColor; } h3 { margin-block: 2rem; font-size: clamp(1.6rem, 4.5vw, 4.5rem); font-weight: 400; } p { font-size: 1.1rem; line-height: 1.5; } } /* general hero style */ .hero { min-block-size: 100dvb; @supports (animation-timeline: view()) { block-size: 100dvb; inline-size: 100vw; position: sticky; top: 0; grid-area: 1 / 1; --moveup: -100dvb; animation: linear moveup 1 forwards; animation-timeline: --page; animation-range: entry 200dvb entry 300dvb; /* give enough room to run scroll-animations * so the main element is not hidden */ ~ main { margin-block-start: 200dvb; min-block-size: 100dvb; } } h2.........完整代码请登录后点击上方下载按钮下载查看
网友评论0