案例一、
span>Meditation</span>
@import url("https://fonts.googleapis.com/css2?family=Quicksand&display=swap");
:root {
font-size: 15px;
}
body {
font-family: "Quicksand", sans-serif;
margin: 0;
min-height: 100vh;
background-color: #e493d0;
background-image: radial-gradient(
closest-side,
rgba(235, 105, 78, 1),
rgba(235, 105, 78, 0)
),
radial-gradient(closest-side, rgba(243, 11, 164, 1), rgba(243, 11, 164, 0)),
radial-gradient(
closest-side,
rgba(254, 234, 131, 1),
rgba(254, 234, 131, 0)
),
radial-gradient(
closest-side,
rgba(170, 142, 245, 1),
rgba(170, 142, 245, 0)
),
radial-gradient(
closest-side,
rgba(248, 192, 147, 1),
rgba(248, 192, 147, 0)
);
background-size: 130vmax 130vmax, 80vmax 80vmax, 90vmax 90vmax,
110vmax 110vmax, 90vmax 90vmax;
background-position: -80vmax -80vmax, 60vmax -30vmax, 10vmax 10vmax,
-30vmax -10vmax, 50vmax 50vmax;
background-repeat: no-repeat;
animation: 10s movement linear infinite;
}
body::after {
content: "";
display: block;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
span {
position: relative;
z-index: 10;
display: flex;
min-height: 100vh;
width: 100%;
justify-content: center;
align-items: center;
font-size: 5rem;
color: transparent;
text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.6),
0px 4px 4px rgba(0, 0, 0, 0.05);
letter-spacing: 0.2rem;
}
@keyframes movement {
0%,
100% {
background-size: 130vmax 130vmax, 80vmax 80vmax, 90vmax 90vmax,
110vmax 110vmax, 90vmax 90vmax;
background-position: -80vmax -80vmax, 60vmax -30vmax, 10vmax 10vmax,
-30vmax -10vmax, 50vmax 50vmax;
}
25% {
background-size: 100vmax 100vmax, 90vmax 90vmax, 100vmax 100vmax,
90vmax 90vmax, 60vmax 60vmax;
background-position: -60vmax -90vmax, 50vmax -40vmax, 0vmax -20vmax,
-40vmax -20vmax, 40vmax 60vmax;
}
50% {
background-size: 80vmax 80vmax, 110vmax 110vmax, 80vmax 80vmax,
60vmax 60vmax, 80vmax 80vmax;
background-position: -50vmax -70vmax, 40vmax -30vmax, 10vmax 0vmax,
20vmax 10vmax, 30vmax 70vmax;
}
75% {
background-size: 90vmax 90vmax, 90vmax 90vmax, 100vmax 100vmax,
90vmax 90vmax, 70vmax 70vmax;
background-position: -50vmax -40vmax, 50vmax -30vmax, 20vmax 0vmax,
-10vmax 10vmax, 40vmax 60vmax;
}
}
案例二、
<div class="text">渐变背景动画</div>
body {
margin: 0;
padding: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background: linear-gradient(
125deg,
#2c3e50,
#27ae60,
#2980b9,
#e74c3c,
#8e44ad
);
background-size: 500%;
animation: bgAnimation 20s linear infinite;
}
.text {
color: #fff;
font-size: 30px;
letter-spacing: 15px;
}
@keyframes bgAnimation {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}