gsap实现滚动深海的鱼儿动画效果代码
代码语言:html
所属分类:加载滚动
代码描述:gsap实现滚动深海的鱼儿动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@import url("https://fonts.googleapis.com/css2?family=Judson&display=swap");
* {
box-sizing: border-box;
}
body {
font-family: "Judson", serif;
background: linear-gradient(to bottom, #63a7bf, #5e56b3, #488ba3, #4f7cb3, #34738c, #305c91, #275291, #133a6e, #0a3250, #282964, #0e345e, black);
max-width: 100vw;
min-height: 100vh;
overflow-x: hidden;
color: white;
position: relative;
margin: 0;
}
body::after {
position: fixed;
content: "";
pointer-events: none;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: radial-gradient(circle at center, transparent, rgba(0, 0, 0, 0.5));
}
@media (min-width: 40em) {
body {
font-size: 2rem;
}
}
.rays {
--r: 10deg;
--c: rgba(255, 251, 227, 0.2);
--size: max(60vh, 80rem);
--mask: radial-gradient(circle at center, black, transparent 50%);
position: fixed;
pointer-events: none;
top: calc(var(--size) * -0.55);
left: 50%;
width: var(--size);
height: var(--size);
pointer-events: none;
}
.rays > div {
width: 100%;
height: 100%;
border-radius: 50%;
background: repeating-conic-gradient(var(--c), var(--c) var(--r), transparent var(--r), transparent calc(var(--r) * 2));
-webkit-mask-image: var(--mask);
mask-image: var(--mask);
}
@keyframes raysRotate {
50% {
transform: rotate(180deg) scale(1.5);
}
100% {
transform: rotate(360deg) scale(1);
}
}
.fish-wrapper {
--mask: linear-gradient(180deg, rgba(0, 0, 0, 1.0), transparent);
width: 100%;
height: 100vh;
position: fixed;
top: 0;
left: 0;
perspective: 100rem;
perspective-origin: center center;
transform-style: preserve-3d;
pointer-events: none;
-webkit-mask-image: var(--mask);
mask-image: var(--mask);
z-index: 2;
}
.fish {
--bodyW: 2rem;
--o: 0.95;
--l: 100%;
--c: hsla(250deg, 50%, var(--l), var(--o, 0.6));
--size: 10rem;
position: relative;
width: var(--size);
height: var(--size);
transform-style: preserve-3d;
transform-origin: center;
}
@media (min-width: 1000px) {
.fish {
--size: 20rem;
--bodyW: 4rem;
}
}
.fish__skeleton {
--clip: polygon(0 var(--bodyW), 45% 0, 55% 0, 100% var(--bodyW), 50% 100%);
position: absolute;
width: 100%;
height: 100%;
background: repeating-linear-gradient(0deg, var(--c), var(--c) 0.1rem, transparent 0, transparent 0.5rem), linear-gradient(var(--c) var(--bodyW), transparent var(--bodyW)), linear-gradient(90deg, transparent calc((var(--bodyW) / 2) - 0.1rem), var(--c) 0, var(--c) calc((var(--bodyW) / 2) + 0.1rem), transparent 0);
top: calc(var(--bodyW) / 4);
left: calc(var(--bodyW) * 0.75);
width: var(--bodyW);
height: calc(var(--bodyW) * 4);
-webkit-clip-path: var(--clip);
clip-path: var(--clip);
opacity: 0;
transform: translate3.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0