JS Component

Navbar [sw-navbar]

Barra de navegação responsiva — variantes glass/gradiente, encolhe e ganha blur ao rolar, dropdown embutido e toggle mobile (hambúrguer → X). Zero dependências, mesma convenção de atributos do Sidebar.

1. Navbar Básica mode="static"

Fica no fluxo normal da página, sem sticky nem sombra ao rolar — ideal pra topo de uma landing page.

2. Sticky + Glass — encolhe ao rolar

sw-navbar-mode="sticky" + sw-navbar-fx="glass". Role dentro da caixa abaixo — a navbar fica menor, ganha blur e sombra (efeito clássico de navbar flutuante estilo Material Kit). Altura normal e encolhida controladas por variável CSS (--sw-navbar-h / --sw-navbar-h-shrink) — ajuste livre, sem duplicar CSS.

Role para baixo dentro desta caixa ↓

A navbar acima está com position: sticky — ela gruda no topo desta área e, depois de ~30px de rolagem, ganha o atributo [scrolled] automaticamente via JS.

Isso ativa uma altura menor, fundo com blur mais forte e sombra — tudo via CSS, sem nenhuma classe manual.

Continue rolando...

Fim do conteúdo de demonstração.

3. Variante Gradiente fx="grad"

Fundo com --sw-grad-pri e texto claro automático — combina com heros coloridos.

4f. Templates Prontos

Cinco navbars completas pra copiar — todas com dropdown e pelo menos um submenu aninhado de verdade (não é só decoração), e todas funcionam igual no mobile: vira o drawer lateral com accordion. Redimensione a janela pra conferir.

Template 1 — SaaS Clean Template 2 — Dark Premium Template 3 — E-commerce (mega menu + conta com submenu) Template 4 — Dashboard / App Template 5 — Developer / Docs
Template 6 — Flat E-commerce (sem radius, uppercase, mega menu + submenu)
EntregaPagamentoContato
PTBRL

Estilo flat de e-commerce — zero border-radius, links uppercase espaçados, mega menu de 2 colunas + imagem de destaque, submenu aninhado em "Jackets", badge quadrado no carrinho. No mobile vira o mesmo drawer lateral dos outros templates (nenhum CSS extra precisou ser escrito pra isso).

5. Toggle Mobile

Abaixo de 768px de largura, [sw-navbar-mn] vira um drawer que desliza da lateral direita (não cobre a tela inteira) com um overlay escurecido atrás, e o botão [sw-navbar-tgl] (hambúrguer → X) aparece automaticamente. Redimensione a janela do navegador pra ver — nenhum atributo extra é necessário, o comportamento já vem embutido no componente.

Clicar num item do menu, clicar no overlay escurecido ou apertar Esc fecha o painel automaticamente. Dropdowns e submenus aninhados viram accordion vertical dentro do drawer.

Quick Reference

Atributo Elemento Descrição
sw-navbar-modenavstatic (padrão) · fixed · sticky
sw-navbar-fxnavglass (blur translúcido) · grad (gradiente)
sw-navbar-shrink-atnavPixels de rolagem até ativar [scrolled] — padrão 40.
--sw-navbar-hnav (style="")Altura normal da navbar — padrão 7rem. Ajuste direto no elemento, sem tocar no CSS-fonte.
--sw-navbar-h-shrinknav (style="")Altura ao ganhar [scrolled] — padrão 5.8rem.
[scrolled]navSetado automaticamente pelo JS ao rolar (modos fixed/sticky).
[open]navMenu mobile aberto — alternado pelo [sw-navbar-tgl].
sw-navbar-brandaLogo/marca à esquerda.
sw-navbar-mndivContainer dos links — vira drawer lateral no mobile.
align="center" / "end"[sw-navbar-mn]Centraliza ou joga o grupo de links pra direita (padrão: esquerda).
sw-navbar-itaLink de navegação — clique marca como ativo.
[act][sw-navbar-it]Marca o item como ativo.
sw-navbar-drop-wrapdivEnvolve gatilho + menu — necessário pro posicionamento do dropdown.
sw-navbar-drop + sw-navbar-drop-arra / iItem pai com dropdown — seta gira ao abrir.
sw-navbar-drop-align="right"[sw-navbar-drop-wrap]Abre o menu alinhado à direita em vez de à esquerda — usar perto da borda direita da navbar.
sw-navbar-drop-mn / -drop-itdiv / aMenu suspenso (irmão do gatilho de topo) e seus itens.
sw-navbar-drop-ttlspanRótulo de seção dentro do menu (uppercase, discreto).
sw-navbar-drop-descspanLinha de descrição abaixo do título do item.
sw-navbar-drop-sepdivLinha divisória entre grupos de itens.
[wide][sw-navbar-drop-mn]Vira mega menu em grade de 2 colunas — use com sw-navbar-drop-col.
has-subdiv[sw-navbar-drop-it]Item com submenu de nível 3 — precisa ser <div> (não <a>) pra poder conter o sw-navbar-drop-sub filho.
sw-navbar-drop-subdivSubmenu que abre pro lado (nível 3+) — hover no desktop, clique no touch.
sub-align="left"div[has-sub]Abre o submenu de nível 3 pro lado esquerdo em vez do direito.
sw-navbar-actionsdivSlot à direita — botões, busca etc.
sw-navbar-tglbuttonHambúrguer mobile — 3 <span> viram um X quando aberto.
[sw-navbar-ovl]divOverlay escurecido atrás do drawer mobile — criado e controlado automaticamente pelo JS.
sw:navbar:toggle / :dropdowneventoDisparados pelo componente.