Section
Infinite-Scroll Logos — Vercel / Linear
Vercel / Linear logos layout: Infinite-scroll marquee.
- Section
- Tailwind
- HTML
- MIT
Preview
Live section
9:41 100%
devsnips.dev/library/tailwind/sections/logos/vercel/ fluid · no fixed width 100%
Install
Add to your project
npx devsnips add Tailwind/Sections/Logos/vercel Tailwind/Sections/Logos/vercel <!--
Snippet Name: Infinite-Scroll Logos — Vercel / Linear
Description: Vercel / Linear logos layout: Infinite-scroll marquee.
Author: DevSnips Contributors
Usage Example: Drop this snippet into any Tailwind CSS page.
-->
<section class="relative w-full py-20 sm:py-28 text-white" data-section="vercel">
<div class="mx-auto max-w-7xl px-5 sm:px-6 lg:px-8">
<div class="mb-10 text-center mx-auto"><p class="mb-4"><span class="inline-flex items-center gap-1.5 rounded-full border border-white/10 bg-white/[0.04] px-3 py-1 f-mono text-[11px] text-white/60"><svg class="h-3.5 w-3.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="M2 12h20M12 2a15 15 0 0 1 0 20 15 15 0 0 1 0-20z"/></svg> Logos</span></p><h2 class="f-disp text-3xl sm:text-4xl lg:text-5xl font-bold tracking-tight text-center mx-auto">Trusted by the best</h2><p class="mt-4 max-w-2xl text-center mx-auto text-base sm:text-lg leading-relaxed text-white/50">Teams at category-defining companies build on our platform.</p></div><div class="relative overflow-hidden" aria-label="Customer logos"><div class="pointer-events-none absolute inset-y-0 left-0 z-10 w-16 sm:w-32" style="background:linear-gradient(to right,var(--logo-fade,transparent),transparent)"></div><div class="pointer-events-none absolute inset-y-0 right-0 z-10 w-16 sm:w-32" style="background:linear-gradient(to left,var(--logo-fade,transparent),transparent)"></div><div class="flex w-max gap-12 px-6" style="animation:logoScroll 30s linear infinite"><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Vercel"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M12 2 2 19h20L12 2z"/></svg><span class="font-semibold tracking-tight text-base">Vercel</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Linear"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="4"/></svg><span class="font-semibold tracking-tight text-base">Linear</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Stripe"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><circle cx="12" cy="12" r="9"/></svg><span class="font-semibold tracking-tight text-base">Stripe</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Resend"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M4 4h16v16H4z"/></svg><span class="font-semibold tracking-tight text-base">Resend</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Raycast"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M12 2v20M2 12h20"/></svg><span class="font-semibold tracking-tight text-base">Raycast</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Notion"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><polygon points="12,2 22,12 12,22 2,12"/></svg><span class="font-semibold tracking-tight text-base">Notion</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Framer"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M12 2 2 19h20L12 2z"/></svg><span class="font-semibold tracking-tight text-base">Framer</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Cal.com"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="4"/></svg><span class="font-semibold tracking-tight text-base">Cal.com</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Clerk"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><circle cx="12" cy="12" r="9"/></svg><span class="font-semibold tracking-tight text-base">Clerk</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Supabase"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M4 4h16v16H4z"/></svg><span class="font-semibold tracking-tight text-base">Supabase</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Clerk"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M12 2v20M2 12h20"/></svg><span class="font-semibold tracking-tight text-base">Clerk</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="PostHog"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><polygon points="12,2 22,12 12,22 2,12"/></svg><span class="font-semibold tracking-tight text-base">PostHog</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Vercel"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M12 2 2 19h20L12 2z"/></svg><span class="font-semibold tracking-tight text-base">Vercel</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Linear"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="4"/></svg><span class="font-semibold tracking-tight text-base">Linear</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Stripe"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><circle cx="12" cy="12" r="9"/></svg><span class="font-semibold tracking-tight text-base">Stripe</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Resend"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M4 4h16v16H4z"/></svg><span class="font-semibold tracking-tight text-base">Resend</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Raycast"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M12 2v20M2 12h20"/></svg><span class="font-semibold tracking-tight text-base">Raycast</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Notion"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><polygon points="12,2 22,12 12,22 2,12"/></svg><span class="font-semibold tracking-tight text-base">Notion</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Framer"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M12 2 2 19h20L12 2z"/></svg><span class="font-semibold tracking-tight text-base">Framer</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Cal.com"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><rect x="3" y="3" width="18" height="18" rx="4"/></svg><span class="font-semibold tracking-tight text-base">Cal.com</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Clerk"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><circle cx="12" cy="12" r="9"/></svg><span class="font-semibold tracking-tight text-base">Clerk</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Supabase"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M4 4h16v16H4z"/></svg><span class="font-semibold tracking-tight text-base">Supabase</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="Clerk"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><path d="M12 2v20M2 12h20"/></svg><span class="font-semibold tracking-tight text-base">Clerk</span></span></span></div><div class="shrink-0 px-8 flex items-center"><span class="opacity-70 hover:opacity-100 transition-opacity"><span class="inline-flex items-center gap-2" aria-label="PostHog"><svg viewBox="0 0 24 24" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="1.6" aria-hidden="true"><polygon points="12,2 22,12 12,22 2,12"/></svg><span class="font-semibold tracking-tight text-base">PostHog</span></span></span></div></div><style>
/* DevSnips style-helper classes (self-contained snippet) */
.f-sans{font-family:'Geist',sans-serif}.f-mono{font-family:'Geist Mono',monospace}.f-disp{font-family:'Geist',sans-serif}
.vc-grid{background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(80% 60% at 50% 0%,#000 40%,transparent 100%)}
.vc-dot{display:inline-block;height:6px;width:6px;border-radius:9999px;background:#50e3c2;box-shadow:0 0 8px #50e3c2}
.vc-panel{box-shadow:0 0 0 1px rgba(255,255,255,.02),0 20px 60px -20px rgba(0,0,0,.9)}
@keyframes logoScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
</style></div>
</div>
</section> # Infinite-Scroll Logos — Vercel / Linear
> Vercel / Linear logos layout: Infinite-scroll marquee.

## Features
- infinite-scroll marquee
- duplicated track
- edge fades
- hover opacity
- pure CSS animation
## Responsive support
- Mobile-first layout
- Breakpoints: `sm` (640px), `md` (768px), `lg` (1024px)
- Stacks gracefully on small screens, expands on large viewports
## Browser support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
## Usage
1. Copy the markup from `code.html` into your Tailwind CSS project.
2. Include the corresponding Google Fonts in your document `<head>` if the style requires them.
3. The snippet is self-contained and copy-paste ready — no build step or JavaScript required.
## Design language
**Vercel / Linear** — part of the DevSnips Tailwind Sections library. Every section is
original, accessible, and production-ready.
## Files
- `preview.html` — full standalone preview page (Tailwind CDN + fonts)
- `code.html` — copy-paste snippet only (no `<head>` / CDN)
- `metadata.json` — structured metadata
- `README.md` — this file 18 lines UTF-8 · LF · Spaces: 2
Continue browsing