Files
home-frontend/src/styles/components/marquee.css
2026-09-10 20:15:03 -07:00

59 lines
1.1 KiB
CSS

.marquee-fade-wrap {
position: relative;
}
.marquee-fade-wrap::before,
.marquee-fade-wrap::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
width: clamp(3rem, 12vw, 10rem);
z-index: var(--z-marquee-fade);
pointer-events: none;
}
.marquee-fade-wrap::before {
left: 0;
background: linear-gradient(to right, var(--color-bg), transparent);
}
.marquee-fade-wrap::after {
right: 0;
background: linear-gradient(to left, var(--color-bg), transparent);
}
.marquee-row {
overflow: visible;
width: 100%;
transform: translateZ(0);
}
.marquee-track {
display: flex;
gap: 1rem;
width: max-content;
transform: translateZ(0);
backface-visibility: hidden;
will-change: transform;
contain: layout style paint;
}
.marquee-left .marquee-track {
transform: translateX(var(--marquee-x-1, 0));
}
.marquee-right .marquee-track {
transform: translateX(var(--marquee-x-2, 0));
}
@media (prefers-reduced-motion: reduce) {
.marquee-track {
transform: none !important;
}
}
/* Performance optimization: GPU acceleration */
.marquee-row {
will-change: transform;
}