<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>动态渐变文字</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
@property --@color-1 {
syntax: "<color>";
inherits: false;
initial-value: hsl(98 100% 62%);
}
@property --@color-2 {
syntax: "<color>";
inherits: false;
initial-value: hsl(204 100% 59%);
}
@-webkit-keyframes gradient-change {
to {
--@color-1: hsl(210 100% 59%);
--@color-2: hsl(310 100% 59%);
}
}
@keyframes gradient-change {
to {
--@color-1: hsl(210 100% 59%);
--@color-2: hsl(310 100% 59%);
}
}
article {
-webkit-animation: gradient-change 2s linear infinite alternate;
animation: gradient-change 2s linear infinite alternate;
background: linear-gradient(
to right in oklch,
var(--@color-1),
var(--@color-2)
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
color: transparent;
}
@layer demo.support {
h1 {
font-size: 10vmin;
line-height: 1.1;
}
body {
background: hsl(204 100% 5%);
min-block-size: 100%;
box-sizing: border-box;
display: grid;
place-content: center;
font-family: system-ui, sans-serif;
font-size: min(200%, 4vmin);
padding: 5vmin;
}
h1,
p,
body {
margin: 0;
text-wrap: balance;
}
h1 {
line-height: 1.25cap;
}
p {
font-family: "Dank Mono", ui-monospace, monospace;
}
html {
block-size: 100%;
}
article {
display: grid;
gap: 1lh;
text-align: center;
}
}
</style>
</head>
<body>
<article>
<h1>Animated Gradient Text</h1>
<h1>动态渐变文字</h1>
<p>@property + linear-gradient() + background-clip + text-fill-color</p>
</article>
</body>
</html>