Button Neon HTML & CSS Style 1
Posted in Button on May 12, 2020 by Sugeng Sulistiyawan ‐ 3 min read
Button Neon HTML & CSS Style 1.
Button Neon use HTML & CSS only.
CSS
:root {
--dark: #030c26;
--success: #00c853;
--warning: #ffab00;
--danger: #d50000;
}
/* .btn */
.btn {
cursor: pointer;
vertical-align: middle;
text-align: center;
text-decoration: none;
font-size: 14px;
letter-spacing: 2px;
padding: 10px 18px;
overflow: hidden;
}
/* .btn.btn-neon */
.btn.btn-neon {
position: relative;
display: inline-block;
border: none;
background: transparent;
text-transform: uppercase;
font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande",
"Lucida Sans Unicode", Geneva, Verdana, sans-serif;
}
.btn.btn-neon:hover {
color: #fff !important;
border-radius: 2px;
transition: 0.2s;
transition-delay: 0.8s;
}
.btn.btn-neon > span {
position: absolute;
display: block;
}
.btn.btn-neon > span:nth-child(odd) {
width: 100%;
height: 2px;
}
.btn.btn-neon > span:nth-child(even) {
width: 2px;
height: 100%;
}
.btn.btn-neon > span:nth-child(1) {
top: 0;
left: -100%;
}
.btn.btn-neon > span:nth-child(2) {
right: 0;
top: -100%;
}
.btn.btn-neon > span:nth-child(3) {
bottom: 0;
right: -100%;
}
.btn.btn-neon > span:nth-child(4) {
left: 0;
bottom: -100%;
}
.btn.btn-neon:hover > span {
transition: 0.5s;
}
.btn.btn-neon:hover > span:nth-child(1) {
left: 100%;
}
.btn.btn-neon:hover > span:nth-child(2) {
top: 100%;
transition-delay: 0.2s;
}
.btn.btn-neon:hover > span:nth-child(3) {
right: 100%;
transition-delay: 0.4s;
}
.btn.btn-neon:hover > span:nth-child(4) {
bottom: 100%;
transition-delay: 0.6s;
}
/* .btn.btn-neon.btn-success */
.btn.btn-neon.btn-success {
color: var(--success);
}
.btn.btn-neon.btn-success:hover {
background: var(--success);
box-shadow: 0 0 10px var(--success), 0 0 20px var(--success),
0 0 40px var(--success);
}
.btn.btn-neon.btn-success > span:nth-child(1) {
background: linear-gradient(90deg, transparent, var(--success));
}
.btn.btn-neon.btn-success > span:nth-child(2) {
background: linear-gradient(180deg, transparent, var(--success));
}
.btn.btn-neon.btn-success > span:nth-child(3) {
background: linear-gradient(270deg, transparent, var(--success));
}
.btn.btn-neon.btn-success > span:nth-child(4) {
background: linear-gradient(0deg, transparent, var(--success));
}
/* .btn.btn-neon.btn-warning */
.btn.btn-neon.btn-warning {
color: var(--warning);
}
.btn.btn-neon.btn-warning:hover {
background: var(--warning);
box-shadow: 0 0 10px var(--warning), 0 0 20px var(--warning),
0 0 40px var(--warning);
}
.btn.btn-neon.btn-warning > span:nth-child(1) {
background: linear-gradient(90deg, transparent, var(--warning));
}
.btn.btn-neon.btn-warning > span:nth-child(2) {
background: linear-gradient(180deg, transparent, var(--warning));
}
.btn.btn-neon.btn-warning > span:nth-child(3) {
background: linear-gradient(270deg, transparent, var(--warning));
}
.btn.btn-neon.btn-warning > span:nth-child(4) {
background: linear-gradient(0deg, transparent, var(--warning));
}
/* .btn.btn-neon.btn-danger */
.btn.btn-neon.btn-danger {
color: var(--danger);
}
.btn.btn-neon.btn-danger:hover {
background: var(--danger);
box-shadow: 0 0 10px var(--danger), 0 0 20px var(--danger),
0 0 40px var(--danger);
}
.btn.btn-neon.btn-danger > span:nth-child(1) {
background: linear-gradient(90deg, transparent, var(--danger));
}
.btn.btn-neon.btn-danger > span:nth-child(2) {
background: linear-gradient(180deg, transparent, var(--danger));
}
.btn.btn-neon.btn-danger > span:nth-child(3) {
background: linear-gradient(270deg, transparent, var(--danger));
}
.btn.btn-neon.btn-danger > span:nth-child(4) {
background: linear-gradient(0deg, transparent, var(--danger));
}
/* Just For Demo */
html,
body {
margin: 0;
padding: 0;
}
body {
background: var(--dark);
width: 100%;
height: 100vh;
display: flex;
flex-wrap: wrap;
align-content: center;
justify-content: center;
gap: 10px;
}
HTML
<a href="#" class="btn btn-neon btn-success">
<span></span>
<span></span>
<span></span>
<span></span>
Neon Success
</a>
<a href="#" class="btn btn-neon btn-warning">
<span></span>
<span></span>
<span></span>
<span></span>
Neon Warning
</a>
<a href="#" class="btn btn-neon btn-danger">
<span></span>
<span></span>
<span></span>
<span></span>
Neon Danger
</a>
Demo & Preview:
See the Pen Button Neon 1 by Sugeng Sulistiyawan (@sugeng-sulistiyawan) on CodePen.