Buttons Style 3

HTML
<h1>Buttons Style : Demo 3</h1> <div class="button-container"> <button class="btn"><span>Button 1</span></button> <button class="btn"><span>Button 2</span></button> <button class="btn"><span>Button 3</span></button> <button class="btn"><span>Button 4</span></button> </div>
CSS
body { font-family: Arial, Helvetica, sans-serif; background: #0f172a; color: #e8f1ff; } h1 { color: #fff; margin: 50px 15px; text-align: center; font-size: 30px; } .button-container { display: flex; gap: 50px; flex-wrap: wrap; justify-content: center; align-items: center; } .button-container .btn { position: relative; background: #0b1020; color: #e5edff; border: 2px solid #60a5fa; filter: drop-shadow(0 0 0 #60a5fa); height: 52px; border-radius: 5px; padding: 0 22px; font-size: 22px; font-weight: 700; letter-spacing: .25px; cursor: pointer; outline: none; user-select: none; overflow: hidden; transition: all 0.3s ease; z-index: 0; } .button-container .btn:hover { filter: drop-shadow(0 0 10px #60a5fa) } .button-container .btn::before, .button-container .btn::after { content: ""; position: absolute; inset: -4px; border-radius: inherit; pointer-events: none; } .button-container .btn::before { inset: -3px; padding: 2px; background: conic-gradient(from 0deg, #60a5fa, #a78bfa, #f472b6, #60a5fa); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: spin 4s linear infinite; z-index: -1; } .button-container .btn::after { background: conic-gradient(from 90deg at top left, #60a5fa 0 90deg, transparent 0) top left / 12px 12px no-repeat, conic-gradient(from 180deg at top right, #60a5fa 0 90deg, transparent 0) top right / 12px 12px no-repeat, conic-gradient(from 0deg at bottom left, #60a5fa 0 90deg, transparent 0) bottom left / 12px 12px no-repeat, conic-gradient(from 270deg at bottom right, #60a5fa 0 90deg, transparent 0) bottom right / 12px 12px no-repeat; opacity: .8; } .button-container .btn span { background: linear-gradient(90deg, #60a5fa, #a78bfa, #f472b6); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-size: 200% auto; animation: shine 3s linear infinite; } @keyframes spin { 0% { transform: rotate(0turn); } 100% { transform: rotate(1turn); } } @keyframes shine { 0% { background-position: 0% center; } 100% { background-position: 200% center; } }
JavaScript