Sections

Logo Cloud Section

Trusted by industry leaders company logo cloud with grayscale filter, hover glow, and ticker animation.

sectionslogospartnerscloudsocial-proof
Live Preview

POWERING FORWARD-THINKING WEB PROJECTS

▲ Vercel
☁ Cloudflare
⚡ Supabase
≋ TailwindCSS
◈ Netlify
⚓ Docker

Usage

Copy and paste this code into your Astro page:

astro
---
import { LogoCloudSection } from 'astro-component-kit';
---

<LogoCloudSection />
--- import { LogoCloudSection } from 'astro-component-kit'; --- <LogoCloudSection />

Manual Installation

If you are not using the npm package, create a new file src/components/sections/LogoCloudSection.astro and paste the following code:

astro
---
/**
 * LogoCloudSection — High-trust partner and client brand wall with monochrome glass badges.
 * 
 * @param {string} title - Section headline. Default is 'TRUSTED BY MODERN TECH STACKS'.
 * @param {Array<{name: string, symbol: string}>} logos - Partner entries list.
 */
interface Props {
  title?: string;
  logos?: Array<{ name: string; symbol: string }>;
}

const {
  title = 'POWERING FORWARD-THINKING WEB PROJECTS',
  logos = [
    { name: 'Vercel', symbol: '▲' },
    { name: 'Cloudflare', symbol: '☁' },
    { name: 'Supabase', symbol: '⚡' },
    { name: 'TailwindCSS', symbol: '≋' },
    { name: 'Netlify', symbol: '◈' },
    { name: 'Docker', symbol: '⚓' },
  ],
} = Astro.props;
---

<section class="logo-cloud">
  <div class="logo-cloud__inner">
    <p class="logo-cloud__title">{title}</p>
    <div class="logo-cloud__grid">
      {logos.map((logo) => (
        <div class="logo-badge">
          <span class="logo-badge__symbol">{logo.symbol}</span>
          <span class="logo-badge__name">{logo.name}</span>
        </div>
      ))}
    </div>
  </div>
</section>

<style>
  .logo-cloud {
    padding: var(--sp-8, 2rem) var(--sp-6, 1.5rem);
    width: 100%;
    font-family: var(--font-sans, system-ui, sans-serif);
  }

  .logo-cloud__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
  }

  .logo-cloud__title {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: var(--c-text-3, #737373);
    text-transform: uppercase;
    margin-bottom: 1.5rem;
  }

  .logo-cloud__grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
  }

  .logo-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0.65rem 1.4rem;
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--r-full, 9999px);
    color: var(--c-text-2, #a3a3a3);
    font-size: 0.88rem;
    font-weight: 700;
    transition: all 0.25s ease;
  }

  .logo-badge:hover {
    color: var(--c-text-1, #ffffff);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(184, 134, 11, 0.4);
    transform: translateY(-2px);
  }

  .logo-badge__symbol {
    font-size: 1.1rem;
    color: var(--c-primary-light, #d4a017);
  }
</style>
--- /** * LogoCloudSection — High-trust partner and client brand wall with monochrome glass badges. * * @param {string} title - Section headline. Default is 'TRUSTED BY MODERN TECH STACKS'. * @param {Array<{name: string, symbol: string}>} logos - Partner entries list. */ interface Props { title?: string; logos?: Array<{ name: string; symbol: string }>; } const { title = 'POWERING FORWARD-THINKING WEB PROJECTS', logos = [ { name: 'Vercel', symbol: '▲' }, { name: 'Cloudflare', symbol: '☁' }, { name: 'Supabase', symbol: '⚡' }, { name: 'TailwindCSS', symbol: '≋' }, { name: 'Netlify', symbol: '◈' }, { name: 'Docker', symbol: '⚓' }, ], } = Astro.props; --- <section class="logo-cloud"> <div class="logo-cloud__inner"> <p class="logo-cloud__title">{title}</p> <div class="logo-cloud__grid"> {logos.map((logo) => ( <div class="logo-badge"> <span class="logo-badge__symbol">{logo.symbol}</span> <span class="logo-badge__name">{logo.name}</span> </div> ))} </div> </div> </section> <style> .logo-cloud { padding: var(--sp-8, 2rem) var(--sp-6, 1.5rem); width: 100%; font-family: var(--font-sans, system-ui, sans-serif); } .logo-cloud__inner { max-width: 1100px; margin: 0 auto; text-align: center; } .logo-cloud__title { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.12em; color: var(--c-text-3, #737373); text-transform: uppercase; margin-bottom: 1.5rem; } .logo-cloud__grid { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; } .logo-badge { display: inline-flex; align-items: center; gap: 10px; padding: 0.65rem 1.4rem; background: rgba(255, 255, 255, 0.02); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.06); border-radius: var(--r-full, 9999px); color: var(--c-text-2, #a3a3a3); font-size: 0.88rem; font-weight: 700; transition: all 0.25s ease; } .logo-badge:hover { color: var(--c-text-1, #ffffff); background: rgba(255, 255, 255, 0.06); border-color: rgba(184, 134, 11, 0.4); transform: translateY(-2px); } .logo-badge__symbol { font-size: 1.1rem; color: var(--c-primary-light, #d4a017); } </style>