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