components/marquee/index.module.css (39 lines of code) (raw):
.marquee {
position: relative;
width: 100%;
overflow: hidden;
display: flex;
--marquee-gap: 80px;
}
.fadingEdges {
mask-image: linear-gradient(
to right,
hsl(0 0% 0% / 0),
hsl(0 0% 0% / 1) 20%,
hsl(0 0% 0% / 1) 80%,
hsl(0 0% 0% / 0)
);
}
.group {
display: flex;
align-items: center;
justify-content: space-around;
min-width: 100%;
animation: scroll 60s linear infinite;
gap: var(--marquee-gap);
flex-shrink: 0;
}
.group:nth-child(1) {
margin-right: var(--marquee-gap);
}
.paused {
animation-play-state: paused;
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-100%);
}
}