Slide Horizontal
.button-slide-horizontal {
color: #5c8599;
}
.button-slide-horizontal::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #2c4251;
transform: translateX(-100%);
transition: transform 0.35s ease-Out;
}
.button-slide-horizontal:hover {
color: #c2d1d9;
}
.button-slide-horizontal:hover::before {
transform: translateX(0);
}
Slide Diagonal
.button-slide-diagonal {
color: #8599c2;
}
.button-slide-diagonal::before {
content: '';
position: absolute;
top: 0;
left: -10%;
width: 120%;
height: 100%;
background: #425980;
transform: skew(-30deg) translateX(-110%);
transition: transform 0.35s ease-Out;
}
.button-slide-diagonal:hover::before {
transform: skew(-30deg) translateX(-10%);
}
Circle Expand
.button-circle-expand {
color: #85c2b5;
}
.button-circle-expand::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
background: #428054;
border-radius: 50%;
transform: translate(-50%, -50%);
transition: all 0.5s ease-Out;
}
.button-circle-expand:hover::before {
width: 300%;
height: 300%;
}
Mouse Aware
.button-position-aware {
color: #85c299;
}
.button-position-aware .hover-effect {
position: absolute;
display: block;
width: 0;
height: 0;
border-radius: 50%;
background: #428054;
transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
transform: translate(-50%, -50%);
z-index: 0;
}
.button-position-aware:hover .hover-effect {
width: 225%;
height: 562.5px;
}
$('.button-position-aware').on('mouseenter mousemove', function(e) {
const $hoverEffect = $(this).find('.hover-effect');
const parentOffset = $(this).offset();
const relX = e.pageX - parentOffset.left;
const relY = e.pageY - parentOffset.top;
$hoverEffect.css({top: relY, left: relX});
});
Fill Effect
.button-fill {
--color: #a972cb;
--hover: #c990ef;
color: var(--color);
border-color: var(--color);
transition: color 0.25s;
}
.button-fill:hover {
box-shadow: inset 0 0 0 2em var(--hover);
color: white;
border-color: var(--hover);
}
Fill Up
.button-fill-up {
--color: #e4cb58;
--hover: #ffe168;
color: var(--color);
border-color: var(--color);
transition: color 0.25s;
}
.button-fill-up:hover {
box-shadow: inset 0 -3.25em 0 0 var(--hover);
color: white;
border-color: var(--hover);
}
Send✈
.button-airplane {
color: #85c2b5;
}
.button-airplane .airplane-icon {
margin-left: 0;
opacity: 0;
transition: all 0.25s ease-out;
}
.button-airplane:hover .airplane-icon {
margin-left: 10px;
opacity: 1;
}
Pulse Effect
.button-pulse {
--color: #ef6eae;
--hover: #ff8cc8;
color: var(--color);
border-color: var(--color);
}
@keyframes pulse {
0% { box-shadow: 0 0 0 0 var(--hover); }
100% { box-shadow: 0 0 0 2em transparent; }
}
.button-pulse:hover {
animation: pulse 1s;
color: white;
border-color: var(--hover);
}
Float Effect
.button-float {
--color: #ffa260;
--hover: #ffcca0;
color: var(--color);
border-color: var(--color);
transition: all 0.25s;
}
.button-float:hover {
box-shadow: 0 0.5em 0.5em -0.4em var(--hover);
transform: translateY(-0.25em);
color: white;
border-color: var(--hover);
}
Arrow Slide
.button-arrow-slide {
color: #BFC0C0;
}
.button-arrow-slide span {
transition: transform 0.35s ease-Out;
}
.button-arrow-slide::before {
content: '→';
position: absolute;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: currentColor;
color: #2D3142;
transform: translateX(-100%);
transition: transform 0.35s ease-Out;
}
.button-arrow-slide:hover::before {
transform: translateX(0);
}
.button-arrow-slide:hover span {
transform: translateX(100%);
opacity: 0;
}
Offset Shadow
.button-offset-shadow {
--color: #19bc8b;
--hover: #1de9ac;
color: var(--color);
border-color: var(--color);
box-shadow:
0.3em 0.3em 0 0 var(--color),
inset 0.3em 0.3em 0 0 var(--color);
transition: all 0.25s;
}
.button-offset-shadow:hover {
box-shadow:
0 0 0 0 var(--hover),
inset 6em 3.5em 0 0 var(--hover);
color: white;
border-color: var(--hover);
}