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>