<button>Button</button>
<button style="background-color: #CC2A41">Button</button>
button {
--s: .25em; /* control the wave*/
padding: .4em .5em;
background-color: #BF4D28;
color: #fff;
--_s: calc(var(--s)*4) 51% repeat-x;
--_r: calc(1.345*var(--s)) at left 50%;
--_g1: #000 99%,#0000 101%;
--_g2: #0000 99%,#000 101%;
--mask:
radial-gradient(var(--_r) top calc(var(--s)* 1.9),var(--_g1))
calc(50% - 2*var(--s) - var(--_i,0px)) 0/var(--_s),
radial-gradient(var(--_r) top calc(var(--s)*-0.9),var(--_g2))
calc(50% - var(--_i,0px)) var(--s)/var(--_s),
radial-gradient(var(--_r) bottom calc(var(--s)* 1.9),var(--_g1))
calc(50% - 2*var(--s) + var(--_i,0px)) 100%/var(--_s),
radial-gradient(var(--_r) bottom calc(var(--s)*-0.9),var(--_g2))
calc(50% + var(--_i,0px)) calc(100% - var(--s))/var(--_s);
-webkit-mask: var(--mask);
mask: var(--mask);
cursor: pointer;
}
button:hover {
--_i: calc(4*var(--s));
transition: .35s;
}
button:active {
background-image: linear-gradient(#0004 0 0);
}
button:focus-visible {
-webkit-mask: none;
outline-offset: .1em;
padding: .2em .5em;
margin: .2em 0;
}
body {
height: 100vh;
margin: 0;
display: grid;
grid-template-columns: auto auto;
gap: 20px;
place-content: center;
background: #F6F7BD;
}
button {
font-family: system-ui, sans-serif;
font-weight: bold;
font-size: 4rem;
margin: 0;
cursor: pointer;
border: none;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.