js实现水面波纹涟漪动画效果代码
代码语言:html
所属分类:动画
代码描述:js实现水面波纹涟漪动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
*,
*::before,
*:after {
box-sizing: border-box;
}
body {
--g1-angle: 22deg;
--g2-angle: -67deg;
margin: 0;
overflow: hidden;
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
background-image: radial-gradient(
circle at center,
rgba(0, 0, 0, 0.5),
rgba(0, 0, 0, 1)
),
linear-gradient(
var(--g1-angle),
rgba(40, 106, 81, 0.8),
rgb(47 83 223 / 80%)
),
linear-gradient(
var(--g2-angle),
rgba(134, 113, 19, 0.8),
rgba(59, 165, 45, 0.8)
);
}
h1,
h2,
h3,
p,
a,
button {
transition: color 1000ms ease-in-out;
color: rgba(255, 255, 255, 0.3);
}
:hover:is(a, h1, button) {
transition: color 150ms ease-in-out;
color: rgba(255, 255, 255, 0.8);
}
h1 {
margin: 0;
margin-bottom: clamp(1rem, 3vmin, 2rem);
font-weight: 900;
line-height: 0.8;
text-transform: uppercase;
letter-spacing: -0.25rem;
font-size: clamp(5rem, 15vmin, 10rem);
}
.tags > * {
font-size: clamp(0.8rem, 2vmin, 1rem);
padding-inline: clamp(0.8rem, 5vmin, 1.2rem);
padding-block: clamp(0.5rem, 2vmin, 0.8rem);
border-radius: 9999px;
background-color: rgba(68, 144, 225, 0.2);
margin-inline-end: 1rem;
margin-block-end: 1rem;
}
.player[data-state='stop']::before {
content: 'Play ';
}
.player[data-state='play']::before {
content: 'Stop ';
}
.player {
border: none;
cursor: pointer;
inline-size: 15ch;
transition: background-color 500ms ease-in-out, color 1000ms ease-in-out;
}
.player:is(:hover, :focus) {
background-color: rgb(29, 194, 158);
color: white;
transition: background-color 150ms ease-in-out,
background-color 300ms ease-in-out;
}
.player:active {
transition: background-color 150ms ease-in-out, color 300ms ease-in-out;
background-color: hsl(167, 74%, 35%);
}
.player[data-state='play'] {
background-color: hsla(0, 76%, 37%, 0.644);
}
.text-container {
padding-inline: clamp(1rem, 5vmin, 2rem);
block-size: 100%;
position: absolute;
z-index: 1;
display: flex;
flex-direction: column;
color: white;
justify-content: center;
}
.circle-generator {
inline-size: 100vw;
block-size: 100vh;
block-size: 100dvh;
}
.circle {
--wavefront-color: 200, 50%, 40%;
--wavefront-delta: 10%;
--wavefront-radius: 0%;
--wavefront-frequency: 10%;
--wavefront-intensity: 1;
--wavefront-x-pos: 0px;
--wavefront-y-pos: 0px;
inline-size: 100%;
block-size: 100%;
position: absolute;
background-image: radial-gradient(
circle at var(--wavefront-x-pos) var(--wavefront-y-pos),
hsla(343, 67%, 52%, 0)
calc(var(--wavefront-radius) - var(--wavefront-delta)),
hsla(var(--wavefront-color), var(--wa.........完整代码请登录后点击上方下载按钮下载查看
网友评论0