wonderfulfrog.com/src/css/blocks/button.css

102 lines
1.6 KiB
CSS

.button {
align-items: center;
color: var(--color-text);
display: inline-flex;
gap: var(--spacing-0\.5);
padding: var(--spacing-0\.5) var(--spacing-1);
position: relative;
text-decoration: none;
transition: transform 0.3s ease;
z-index: 1;
&::before,
&::after {
border-radius: var(--spacing-0\.5);
position: absolute;
inset: 0;
content: "";
transition:
opacity 0.1s ease,
transform 0.3s var(--transition-bounce);
z-index: -1;
}
&::before {
background-color: var(--color-surface);
}
&::after {
background-color: var(--color-text);
opacity: 0;
}
svg {
color: var(--color-fadeText);
transform: scale(1);
transition: transform 0.3s var(--transition-bounce);
}
}
@media (hover: hover) {
.button:hover {
&::before,
&::after {
transform: scale(1.05);
}
&::after {
opacity: 1;
}
svg {
color: var(--color-border);
transform: rotateZ(12deg) scale(1.4);
}
}
}
.button:active {
transform: scale(0.8);
}
.button--alt {
color: var(--color-primary);
&::before {
background-color: var(--color-white);
}
&::after {
background-color: color-mix(
in srgb,
var(--color-white) 90%,
var(--color-primary)
);
}
svg {
color: inherit;
}
}
@media (hover: hover) {
.button--alt:hover {
color: var(--color-shadow);
svg {
color: inherit;
}
}
}
.button__count {
color: var(--color-fadeText);
}
@media (hover: hover) {
.button:hover {
.button__count {
color: var(--color-border);
}
}
}