MDX.org.ai
UI ComponentsLayout

Site

Website wrapper with header, navigation, main content, and footer

A complete website wrapper providing consistent header, navigation, and footer across all pages.

Structure

┌─────────────────────────────────────────┐
│ header                                  │
│ ┌──────┐ ┌────────────────────────────┐ │
│ │ logo │ │ nav                        │ │
│ └──────┘ └────────────────────────────┘ │
├─────────────────────────────────────────┤
│                                         │
│ main                                    │
│                                         │
│   {children}                            │
│                                         │
├─────────────────────────────────────────┤
│ footer                                  │
│ ┌─────────────┐ ┌─────────┐ ┌─────────┐ │
│ │ footer-nav  │ │ social  │ │copyright│ │
│ └─────────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────┘

Usage

<Site
  siteName="Acme Corp"
  logo="/logo.svg"
  nav={[
    { label: 'Home', href: '/' },
    { label: 'Products', href: '/products' },
    { label: 'About', href: '/about' },
  ]}
  copyright="© 2024 Acme Corp"
>
  <Page title="Welcome">
    <Hero title="Build something great" />
  </Page>
</Site>

CSS Parts

Site::part(root) { }
Site::part(header) { }
Site::part(logo) { }
Site::part(nav) { }
Site::part(nav-item) { }
Site::part(main) { }
Site::part(sidebar) { }
Site::part(footer) { }

Semantic HTML

<div data-component="Site" part="root">
  <header part="header">
    <a part="logo" href="/"><img src="/logo.svg" alt="Acme" /></a>
    <nav part="nav">
      <a part="nav-item" href="/">Home</a>
      <a part="nav-item" href="/products">Products</a>
    </nav>
  </header>
  <main part="main">{children}</main>
  <footer part="footer">
    <nav part="footer-nav">...</nav>
    <div part="social">...</div>
    <p part="copyright">© 2024</p>
  </footer>
</div>

On this page