portfolio / src /components /LogoLoop.css
jashdoshi77's picture
Initial commit: Portfolio for Hugging Face Spaces
86fbe37
.logo-loop-container {
--logo-height: 36px;
--logo-gap: 56px;
--animation-duration: 20s;
--fade-color: #050505;
position: relative;
width: 100%;
overflow: hidden;
}
/* Fade edges */
.logo-loop-container.with-fade::before,
.logo-loop-container.with-fade::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
width: 50px;
z-index: 2;
pointer-events: none;
}
@media (min-width: 768px) {
.logo-loop-container.with-fade::before,
.logo-loop-container.with-fade::after {
width: 100px;
}
}
.logo-loop-container.with-fade::before {
left: 0;
background: linear-gradient(to right, var(--fade-color) 0%, transparent 100%);
}
.logo-loop-container.with-fade::after {
right: 0;
background: linear-gradient(to left, var(--fade-color) 0%, transparent 100%);
}
/* The scrolling track */
.logo-track {
display: flex;
align-items: center;
gap: var(--logo-gap);
width: max-content;
animation: scrollLogos var(--animation-duration) linear infinite;
}
/* Pause on hover */
.logo-loop-container.pause-on-hover:hover .logo-track {
animation-play-state: paused;
}
/* Individual logo items */
.logo-item {
flex-shrink: 0;
font-size: var(--logo-height);
color: rgba(255, 255, 255, 0.5);
transition: color 0.3s ease, transform 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.logo-item:hover {
color: rgba(255, 255, 255, 0.9);
transform: scale(1.15);
}
/* Infinite scroll animation */
@keyframes scrollLogos {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}