# Beste UI

> Beautiful, accessible blocks, pieces and components for shadcn/ui and Tailwind CSS, built for React and Next.js. Install one with the shadcn CLI and the code is yours to edit: no runtime dependency, nothing to upgrade.

Markdown rendition of https://ui.beste.co/block/navbar30. Every page on the site has one: add `.md` to any address, or send `Accept: text/markdown`.

Whole catalog for LLMs: https://ui.beste.co/llms.txt. Registry index: https://ui.beste.co/r/registry.json

---
1. /
2. [Blocks](/blocks)
3. /
4. [Navigation](/blocks/navigation)
5. /
6. Centered Logo Split Nav

# Centered Logo Split NavFREE

Symmetrical navbar with centered logo flanked by navigation links on both sides and dropdown menus. Perfect for fashion brands and lifestyle sites wanting balanced visual hierarchy.

ViewCodeDocs

Base UI

![](https://oud.pics/sm/l/npm.svg)`npx shadcn add https://ui.beste.co/r-base/navbar30`

## Navbar30: Centered Logo Split Nav

Symmetrical navbar with the logo centered between two independent groups of nav links, either of which can carry a click-to-open dropdown. Built for fashion and lifestyle sites that want balanced left/right visual weight instead of a single leading logo.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

### Installation

bashCopy

```
npx shadcn add "https://ui.beste.co/r/navbar30"
```

bashCopy

```
npx shadcn add "https://ui.beste.co/r-base/navbar30"
```

This installs the block to `components/beste/block/navbar30.tsx` and the shadcn/ui dependency it needs (`button`).

### Quick start

The installed file exports `navbar30Demo` alongside the block: the exact props behind the preview above. Spread it to get a working navbar in one line.

tsxCopy

```
import { Navbar30, navbar30Demo } from "@/components/beste/block/navbar30";

export default function Layout() {
  return <Navbar30 {...navbar30Demo} />;
}
```

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsxCopy

```
import { Navbar30 } from "@/components/beste/block/navbar30";

export default function Layout() {
  return (
    <Navbar30
      logo={{ text: "Acme", href: "/" }}
      leftNavItems={[
        {
          label: "Products",
          dropdown: [
            { title: "Analytics", description: "Track your metrics", href: "/analytics" },
            { title: "Automation", description: "Streamline workflows", href: "/automation" },
          ],
        },
        { label: "Pricing", href: "/pricing" },
      ]}
      rightNavItems={[
        { label: "Blog", href: "/blog" },
        { label: "Contact", href: "/contact" },
      ]}
      button={{ label: "Get started", href: "/signup" }}
    />
  );
}
```

### Props

| Prop          | Type                             | Default | Description                                                                    |
| ------------- | -------------------------------- | ------- | ------------------------------------------------------------------------------ |
| logo          | { text: string; href?: string }  | –       | Brand text and link, rendered centered; falls back to "Brand" / # when omitted |
| leftNavItems  | NavItem\[\]                      | \[\]    | Nav entries rendered to the left of the logo                                   |
| rightNavItems | NavItem\[\]                      | \[\]    | Nav entries rendered to the right of the logo, followed by button              |
| button        | { label: string; href?: string } | –       | Single call-to-action button after the right nav group; omitted if not passed  |
| className     | string                           | –       | Extra classes for the outer <nav>                                              |

tsCopy

```
type NavItem = { label: string; href?: string; dropdown?: DropdownItem[] };

type DropdownItem = { title: string; href?: string; description?: string };
```

### Behavior notes

* Items with a non-empty `dropdown` render as a button that toggles a small absolutely-positioned panel on click; a single shared ref plus an outside-`mousedown` listener closes whichever dropdown is open when the click lands outside it.
* The logo sits in a `flex-1 justify-center` wrapper on desktop so it stays visually centered regardless of how many items are on each side; on mobile it collapses to the same centered treatment.
* The mobile breakpoint is `lg` (1024px). Below it, `leftNavItems` and `rightNavItems` are concatenated into one stacked list; items with a `dropdown` show their sub-items expanded inline under a non-interactive label heading rather than as a separate accordion toggle.
* The bar is sticky (`sticky top-0 z-50`) with a solid `bg-background` and a bottom border, no blur.

## More Navigation blocks

[View all Navigation](/blocks/navigation)

[](/block/navbar44)

PRO

navbar44

### Centered Logo Navbar

Symmetric navbar with links on the left, a square-mark wordmark centered and a seal CTA on the right, plus a tile-grid mobile menu.

[](/block/navbar72)

PRO

navbar72

### Centered Link Navbar

A minimal navbar with a lowercase wordmark, absolutely centered uppercase text links, an accent call to action, and a collapsing mobile menu.

[](/block/navbar58)

PRO

navbar58

### Monogram Navbar

Minimal stacked navbar — a large primary logo square with the wordmark tucked into its corner, over a quiet ruled row of uppercase links. No buttons, no hamburger.

[](/block/navbar67)

PRO

navbar67

### Poster Split Navbar

Poster-scale navbar — an oversized wordmark anchors the left while a right column stacks the nav, a pill CTA and a parenthetical label. Collapses to a stacked mobile menu.

[](/block/navbar37)

PRO

navbar37

### Floating Pill Navbar

Centered floating navbar with rounded pill shape, backdrop blur effect, and compact layout. Perfect for modern landing pages and portfolios wanting a minimal floating navigation style.

[](/block/navbar65)

PRO

navbar65

### Status Tier Navbar

Two-tier navbar — a top strip carries an availability badge with a live dot and utility links, over a main row with an oversized wordmark, nav and pill CTA.

## Ship the interface, keep the code.

New blocks, pieces and components every week. Install one with a command and it is yours to edit. No runtime dependency, no upgrade path to fight.

[Browse the libraryBrowse the library](/blocks)[See pricingSee pricing](/pricing)

### Library

* [Blocks](/blocks)
* [Pages](/pages)
* [Pieces](/pieces)
* [Components](/components)
* [Search](/search)

### Learn

* [Docs](/docs)
* [AI & MCP](/docs/mcp)
* [Blog](/blog)
* [Free tools](/tools)
* [What's new?](/changelog)
* [Website Builder](https://beste.co)

### More

* [Pricing](/pricing)
* [Referrals](/referrals)
* [License](/license)
* [GitHub](https://github.com/beste-co/beste-ui)

### Shadcn Blocks

* [Shadcn Hero Blocks](/blocks/hero)
* [Shadcn Feature Blocks](/blocks/feature)
* [Shadcn Pricing Blocks](/blocks/pricing)
* [Shadcn CTA Blocks](/blocks/cta)
* [Shadcn FAQ Blocks](/blocks/faq)
* [Shadcn About Blocks](/blocks/about)
* [Shadcn Stats Blocks](/blocks/stats)
* [Shadcn Footer Blocks](/blocks/footer)
* [Shadcn Navigation Blocks](/blocks/navigation)
* [Shadcn Auth Blocks](/blocks/auth)
* [Shadcn Ecommerce Blocks](/blocks/ecommerce)
* [Shadcn Portfolio Blocks](/blocks/portfolio)
* [Shadcn Showcase Blocks](/blocks/showcase)
* [Shadcn Careers Blocks](/blocks/careers)
* [Shadcn Onboarding Blocks](/blocks/onboarding)
* [Shadcn Coming Soon Blocks](/blocks/coming-soon)
* [Shadcn Post Blocks](/blocks/post)
* [Shadcn Legal Blocks](/blocks/legal)
* [Shadcn Workflow Blocks](/blocks/workflow)
* [Shadcn News Blocks](/blocks/news)

© 2026, [Beste](https://beste.co). All rights reserved.