<div class="item"></div>
<button class="btn">A button</button>
<p>Lorem ipsum dolor sit amet</p>
@property --from-color {
syntax: "<color>";
initial-value: #f0f;
inherits: false;
}
@property --to-color {
syntax: "<color>";
initial-value: #0ff;
inherits: false;
}
.item {
width: 80vw;
height: 50px;
border-radius: 50px;
background: linear-gradient(to right, var(--from-color), var(--to-color));
animation: gradient 4s linear infinite;
}
.btn {
color: white;
display: inline-block;
border: none;
padding: 15px 20px;
font-size: 1.2rem;
border-radius: 5px;
background: linear-gradient(to right, var(--from-color), var(--to-color));
animation: gradient 4s linear infinite;
text-transform: uppercase;
}
p {
display: block;
background: linear-gradient(to right, var(--from-color), var(--to-color));
font-size: 4rem;
animation: gradient 4s linear infinite;
background-clip: text;
font-weight: 700;
color: transparent;
}
@keyframes gradient {
0%,
100% {
--from-color: #f0f;
--to-color: #0ff;
}
50% {
--from-color: #00f;
--to-color: #ff0;
}
}
body {
display: flex;
font-family: Arial, Helvetica, sans-serif;
font-size: 1.2rem;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 30px;
min-height: 100vh;
margin: 0;
padding: 20px;
background: #323232;
}
* {
box-sizing: border-box;
}
@media (prefers-reduced-motion) {
.item,
.btn {
animation: none;
}
.item::after {
text-transform: none;
font-size: 1rem;
line-height: 1.5;
letter-spacing: 0;
color: #fff;
display: block;
background: black;
content: "This demo has flickering gradients, we decided not to show this based on your preferences (reduced motion setting)";
}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.