Estructura & Layout layoutfootergrid
Modern Footer Layout
Pie de página estructurado en cuadrícula con enlaces ordenados y aviso de copyright.
Vista Previa en Vivo
Uso
Copia y pega este código directamente en tu página de Astro:
astro
---
import { ModernFooterLayout } from 'astro-component-kit';
---
<MinimalFooterGrid>Content</MinimalFooterGrid> ---
import { ModernFooterLayout } from 'astro-component-kit';
---
<MinimalFooterGrid>Content</MinimalFooterGrid> Instalación Manual
Si no estás usando el paquete npm, crea un archivo nuevo y pega el siguiente código: src/components/lib/ModernFooterLayout.astro:
astro
---
/**
* MinimalFooterGrid — Multi-column grid footer for project links and brand info.
*/
interface Props {
brandName?: string;
className?: string;
}
const { brandName = 'AstroKit', className = '' } = Astro.props;
---
<footer class={`m-footer ${className}`}>
<div class="f-row">
<div class="f-info">
<span class="f-brand">{brandName}</span>
<span class="f-copy">© {new Date().getFullYear()} All rights reserved.</span>
</div>
<div class="f-links">
<div class="f-col">
<span class="f-col-title">Product</span>
<a href="#components">Components</a>
<a href="#docs">Documentation</a>
<a href="#pricing">Pricing</a>
</div>
<div class="f-col">
<span class="f-col-title">Community</span>
<a href="https://github.com" target="_blank" rel="noopener">GitHub</a>
<a href="https://discord.com" target="_blank" rel="noopener">Discord</a>
<a href="https://x.com" target="_blank" rel="noopener">Twitter</a>
</div>
</div>
</div>
</footer>
<style>
.m-footer {
width: 100%;
padding: 3rem 1.5rem;
border-top: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
background: rgba(0, 0, 0, 0.2);
}
.f-row {
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
gap: 2rem;
}
.f-info {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.f-brand {
font-weight: 800;
font-size: 1.2rem;
color: #fff;
}
.f-copy {
font-size: 0.8rem;
color: #64748b;
}
.f-links {
display: flex;
gap: 3rem;
}
.f-col {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.f-col-title {
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #94a3b8;
margin-bottom: 0.25rem;
}
a {
color: #cbd5e1;
font-size: 0.85rem;
text-decoration: none;
transition: color 0.2s ease;
}
a:hover {
color: #fff;
}
</style> ---
/**
* MinimalFooterGrid — Multi-column grid footer for project links and brand info.
*/
interface Props {
brandName?: string;
className?: string;
}
const { brandName = 'AstroKit', className = '' } = Astro.props;
---
<footer class={`m-footer ${className}`}>
<div class="f-row">
<div class="f-info">
<span class="f-brand">{brandName}</span>
<span class="f-copy">© {new Date().getFullYear()} All rights reserved.</span>
</div>
<div class="f-links">
<div class="f-col">
<span class="f-col-title">Product</span>
<a href="#components">Components</a>
<a href="#docs">Documentation</a>
<a href="#pricing">Pricing</a>
</div>
<div class="f-col">
<span class="f-col-title">Community</span>
<a href="https://github.com" target="_blank" rel="noopener">GitHub</a>
<a href="https://discord.com" target="_blank" rel="noopener">Discord</a>
<a href="https://x.com" target="_blank" rel="noopener">Twitter</a>
</div>
</div>
</div>
</footer>
<style>
.m-footer {
width: 100%;
padding: 3rem 1.5rem;
border-top: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
background: rgba(0, 0, 0, 0.2);
}
.f-row {
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
gap: 2rem;
}
.f-info {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.f-brand {
font-weight: 800;
font-size: 1.2rem;
color: #fff;
}
.f-copy {
font-size: 0.8rem;
color: #64748b;
}
.f-links {
display: flex;
gap: 3rem;
}
.f-col {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.f-col-title {
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #94a3b8;
margin-bottom: 0.25rem;
}
a {
color: #cbd5e1;
font-size: 0.85rem;
text-decoration: none;
transition: color 0.2s ease;
}
a:hover {
color: #fff;
}
</style>
Información Rápida
- Categoría
- Estructura & Layout
- Nombre de archivo
ModernFooterLayout.astro- Dependencias
- Ninguna — Astro nativo + CSS puro
- Etiquetas
- layoutfootergrid