<div class="stage">
<button class="btn">Hover me</button>
</div>
.stage {
box-sizing: border-box;
position: absolute;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
background-color: #65799b;
}
.btn {
width: 200px;
font-size: 20px;
height: 60px;
border: none;
outline: none;
background: #c38b8b;
color: #fff;
cursor: pointer;
position: relative;
z-index: 0;
border-radius: 10px;
}
.btn::before {
position: absolute;
content: "";
width: calc(100% + 4px);
height: calc(100% + 4px);
left: -2px;
top: -2px;
background: linear-gradient(
124deg,
#ff2400,
#e81d1d,
#e8b71d,
#e3e81d,
#1de840,
#1ddde8,
#2b1de8,
#dd00f3,
#dd00f3
);
background-size: 400%;
z-index: -1;
filter: blur(5px);
animation: move 20s linear infinite;
opacity: 0;
transition: opacity 0.3s ease-in-out;
border-radius: 10px;
}
.btn:hover::before {
opacity: 1;
}
.btn::after {
z-index: -1;
content: "";
position: absolute;
width: 100%;
height: 100%;
background: #555273;
left: 0;
top: 0;
border-radius: 10px;
}
@keyframes move {
0% {
background-position: 0 0;
}
50% {
background-position: 400% 0;
}
100% {
background-position: 0 0;
}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.