mirror of
https://github.com/uiverse-io/galaxy.git
synced 2025-11-28 13:10:21 +08:00
138 lines
2.9 KiB
HTML
138 lines
2.9 KiB
HTML
<button class="crushbtn">
|
|
crush
|
|
<div class="heart1">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"></path>
|
|
</svg>
|
|
</div>
|
|
<div class="heart2">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"></path>
|
|
</svg>
|
|
</div>
|
|
<div class="heart3">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"></path>
|
|
</svg>
|
|
</div>
|
|
</button>
|
|
<style>
|
|
/* From Uiverse.io by ShrinilDhorda - Tags: gradient, button, active, modern, blur filter, svg, crush */
|
|
.crushbtn {
|
|
font-size: 2rem;
|
|
padding: 0.7rem 2.4rem;
|
|
letter-spacing: .3rem;
|
|
border-radius: 1.5rem;
|
|
position: relative;
|
|
background-color: #e8e8e8;
|
|
color: red;
|
|
border: none;
|
|
text-shadow: 0 0 3px #ff6e6e;
|
|
overflow: hidden;
|
|
cursor: pointer;
|
|
transition: 0.7s;
|
|
z-index: 2;
|
|
}
|
|
|
|
.heart1 svg {
|
|
position: absolute;
|
|
left: 4.5rem;
|
|
top: 1.8rem;
|
|
opacity: 0;
|
|
fill: red;
|
|
stroke: none;
|
|
transition: 0.7s;
|
|
width: 2rem;
|
|
height: 2rem;
|
|
animation: move1 5s ease-in-out infinite alternate-reverse;
|
|
}
|
|
|
|
.heart2 svg {
|
|
position: absolute;
|
|
left: 0.8rem;
|
|
opacity: 0;
|
|
top: 0.3rem;
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
fill: red;
|
|
stroke: none;
|
|
transform: rotate(-20deg );
|
|
animation: move2 5s ease infinite alternate-reverse;
|
|
}
|
|
|
|
.heart3 svg {
|
|
position: absolute;
|
|
right: 1rem;
|
|
top: 0.5rem;
|
|
opacity: 0;
|
|
width: 1.4rem;
|
|
height: 1.4rem;
|
|
transform: rotate(20deg);
|
|
fill: red;
|
|
stroke: none;
|
|
z-index: -1;
|
|
animation: move3 5s ease infinite alternate-reverse;
|
|
}
|
|
|
|
@keyframes move1 {
|
|
0% {
|
|
top: 2rem;
|
|
}
|
|
|
|
50% {
|
|
top: 4rem;
|
|
}
|
|
|
|
100% {
|
|
top: 2rem;
|
|
}
|
|
}
|
|
|
|
@keyframes move2 {
|
|
0% {
|
|
top: 0.3rem;
|
|
}
|
|
|
|
50% {
|
|
top: 1.5rem;
|
|
}
|
|
|
|
100% {
|
|
top: 0.3rem;
|
|
}
|
|
}
|
|
|
|
@keyframes move3 {
|
|
0% {
|
|
top: 1.5rem;
|
|
}
|
|
|
|
50% {
|
|
top: .6rem;
|
|
}
|
|
|
|
100% {
|
|
top: 1.5rem;
|
|
}
|
|
}
|
|
|
|
.crushbtn:hover .heart1 svg,
|
|
.crushbtn:hover .heart2 svg,
|
|
.crushbtn:hover .heart3 svg {
|
|
opacity: 1;
|
|
filter: drop-shadow(0 0 10px #ff6e6e)
|
|
}
|
|
|
|
.crushbtn:hover {
|
|
color: red;
|
|
box-shadow: 0 0 10px inset #ff6e6e;
|
|
scale: 105%;
|
|
}
|
|
|
|
.crushbtn:active {
|
|
scale: 100%;
|
|
}
|
|
</style>
|