Skip to content

Header

The Header component provides full navigation with responsive mobile menu support.

---
import Header from '@/components/layout/Header.astro';
---
<Header />
<Header
layout="default"
position="sticky"
size="md"
variant="default"
colorScheme="default"
showCta
cta={{ label: 'Get Started', href: '/signup' }}
showThemeToggle
showMobileMenu
showActiveState
actions={[
{
icon: 'github',
href: 'https://github.com/...',
label: 'GitHub',
iconOnly: true,
target: '_blank'
}
]}
/>

For headers on dark backgrounds:

<Header colorScheme="invert" variant="transparent" />

Override the default navigation:

<Header nav={[
{ label: 'Home', href: '/' },
{ label: 'Features', href: '#features' },
{ label: 'Pricing', href: '#pricing' },
]} />
PropTypeDefaultDescription
layout'default' | 'centered' | 'minimal''default'Layout style
position'fixed' | 'sticky' | 'static''sticky'Position behavior
size'sm' | 'md' | 'lg''md'Header height
variant'default' | 'solid' | 'transparent''default'Background style
colorScheme'default' | 'invert''default'Color scheme
navNavItem[]Override navigation
extraNavNavItem[][]Additional nav items
showCtabooleanfalseShow CTA button
cta{ label, href }{ label: 'Get Started', href: '#cta' }CTA config
actionsHeaderAction[][]Action buttons
showThemeTogglebooleantrueShow theme toggle
showMobileMenubooleantrueShow mobile menu
showActiveStatebooleantrueHighlight current page
logoTextstringOverride logo text
hideLogobooleanfalseHide logo
SlotPurpose
logoCustom logo content
navCustom navigation
actionsCustom action buttons
mobile-menuCustom mobile menu content
<Header
variant="transparent"
showCta
cta={{ label: 'Start Free Trial', href: '/signup' }}
actions={[
{ icon: 'github', href: 'https://github.com/...', iconOnly: true }
]}
/>
<Header
layout="minimal"
showThemeToggle={false}
showMobileMenu={false}
/>