← Todos os guias Mobile UX

Arquitetura de Menu Gaveta Mobile: Engenharia de Navegação Off-Canvas de Alta Velocidade para Shopify

Guia técnico de design de menu gaveta (drawer menu) mobile para Shopify. Domine hierarquias drill-down off-canvas, transições a 60fps no compositor, busca interna e focus trapping de acessibilidade.

O comércio móvel já responde por mais de 70% de todo o tráfego no e-commerce varejista, mas as taxas de exploração e navegação em dispositivos móveis continuam sistematicamente inferiores às do desktop. Quando equipes de auditoria analisam vitrines mobile de baixo desempenho, a falha é frequentemente diagnosticada de forma equivocada como fadiga de catálogo ou taxonomia de produtos excessivamente complexa. Na realidade prática de produção, o atrito quase sempre decorre da execução arquitetural do contêiner mobile primário: o menu gaveta off-canvas (drawer menu).

Em telas de desktop, mega menus exibem dezenas de links categorizados simultaneamente em múltiplas colunas visuais. No entanto, em uma tela de smartphone de apenas 390px de largura, comprimir um catálogo inteiro dentro de uma gaveta lateral deslizante cria riscos severos de usabilidade: rolagem vertical interminável em acordeão, recálculos contínuos de layout CSS (layout thrashing) que derrubam a taxa de quadros abaixo de 30fps e desorientação cognitiva total do usuário. Para converter visitantes mobile, as arquiteturas modernas de lojas Shopify não tratam o drawer como um depósito genérico de links, mas sim como um reservatório de catálogo de alta engenharia operando em perfeita sincronia com elementos fixos na thumb zone (área de alcance do polegar).

Principais Descobertas Técnicas
  • O Limite de 57% na Descoberta: Benchmarks de usabilidade do Nielsen Norman Group revelam que ocultar todos os caminhos de navegação dentro de um menu gaveta mobile resulta em apenas 57% de engajamento do usuário, em comparação a 86% quando os destinos primários permanecem permanentemente visíveis em uma estrutura híbrida combinada.
  • O Abismo de Abandono por Acordeão: Pesquisas do Baymard Institute indicam que acordeões aninhados com mais de 2 níveis geram severa desorientação no usuário, fazendo com que mais de 60% dos compradores em sessões de teste abandonem a navegação por categorias.
  • Layout Thrashing e Penalidades de INP: Animar a abertura da gaveta via propriedades CSS left ou width dispara recálculos geométricos contínuos no navegador, provocando quedas de frames em aparelhos móveis intermediários e inflando o Interaction to Next Paint (INP) acima de 250ms.

Comparativo Arquitetural: Modelos de Entrega de Menu Gaveta Mobile

Antes de reorganizar a taxonomia dos menus, engenheiros de e-commerce devem avaliar o desempenho de renderização e as concessões de usabilidade dos três padrões principais de off-canvas mobile:

Dimensão Técnica Acordeão Multinível Tradicional Painel Drill-Down Push (Miller Column) Pipeline Híbrido Duplo (Tab Bar + Gaveta)
Gestão de Profundidade Estrutural Ruim (Altura da página infla para 4.000px+) Ótima (Substitui a visão, mantém altura fixa) Ótima (Primários visíveis, catálogo na gaveta)
Orientação Mental / Rastro de Informação Alta desorientação (Linhas empurradas para fora) Alta (Breadcrumbs fixos < Voltar) Máxima (Âncoras de orientação permanentes)
Thread de Renderização da Animação Frequentemente limitada à CPU (Gera reflow) Compositor GPU (transform: translate3d) Compositor GPU (Orçamento de frame <16ms)
Pegada no DOM (SSR no Servidor) 300–600 nós Liquid redundantes 150–250 nós (Níveis profundos via lazy loading) <50 nós iniciais (Hidratados via Edge JSON)
Conformidade com Acessibilidade Falha frequente no focus trapping Moderada (Exige gestão ativa de foco) Padrão estrito W3C APG Dialog & inert
Velocidade de Descoberta Interna Lenta (Escaneamento vertical manual) Rápida (Navegação estruturada por níveis) Instantânea (Busca embutida + cards visuais)

As Três Falhas Arquiteturais dos Menus Gaveta Genéricos

Ao instalar temas prontos da Shopify, os menus gaveta geralmente sofrem de três falhas estruturais profundas de engenharia:

1. O “Acordeão Infinito” (Expansão Vertical Ilimitada)

Nos temas padrão da Shopify (como configurações básicas do Dawn ou temas legados anteriores), a navegação em múltiplos níveis é renderizada como uma lista em acordeão. Quando um cliente toca em “Masculino”, a gaveta se expande para baixo, empurrando todos os outros links principais para fora da parte inferior da tela. Se o comprador tocar em seguida em “Calçados”, outra lista aninhada se abre.

Isso gera três falhas críticas de usabilidade:

  • Perda de Contexto: O comprador perde a visão de departamentos alternativos e não consegue retornar ao topo sem uma longa e exaustiva rolagem para cima.
  • Fechamento Acidental: Ao tentar rolar listas excessivamente expandidas, os compradores frequentemente acionam o gesto de swipe lateral ou tocam sem querer no fundo escurecido (backdrop), perdendo todo o progresso da navegação.
  • Áreas de Toque Minúsculas: Links aninhados frequentemente herdam espaçamentos reduzidos e fontes menores, diminuindo a área de toque abaixo do padrão mínimo de 44×44px estipulado pelas diretrizes WCAG 2.5.5.

2. Transições CSS que Disparam Recálculos de Layout (Jank e Penalidades de INP)

Muitos aplicativos de menu de terceiros animam a abertura da gaveta aplicando transições nas propriedades CSS left ou right:

/* ANTI-PADRÃO: Dispara Layout, Paint e Composite a cada quadro da animação */
.mobile-drawer-bad {
  position: fixed;
  left: -100%;
  transition: left 0.3s ease-out;
}
.mobile-drawer-bad.is-open {
  left: 0;
}

Como a propriedade left altera o posicionamento geométrico do elemento no viewport, o motor de renderização do navegador é forçado a executar um Recálculo de Layout (Reflow) a cada ciclo de animação (16,6ms a 60Hz, ou 8,3ms a 120Hz em telas ProMotion). Em processadores de smartphones, esse layout thrashing provoca engasgos visuais visíveis (taxas oscilando entre 20 e 30fps) e introduz atrasos sensíveis na resposta ao toque.

3. Vazamento de Rolagem de Fundo e Falhas no Focus Trapping

Quando uma gaveta lateral se abre, ela opera conceitualmente como uma caixa de diálogo modal. No entanto, em vitrines não otimizadas:

  • O gesto de arrastar verticalmente a gaveta acaba rolando acidentalmente a página de produto ou a grade de coleções em segundo plano.
  • Leitores de tela e a navegação por tecla Tab continuam percorrendo links ocultos na página inativa atrás do backdrop da gaveta, violando os critérios de Nível AA da WCAG 2.1.

Blueprint de Produção: Arquitetura de Menu Gaveta a 60fps Acelerada por Hardware

Menus gaveta de alto desempenho contornam o layout thrashing isolando completamente o movimento na Thread do Compositor da GPU, utilizando transformações 3D aceleradas por hardware e contenção estrita de CSS:


/* ==========================================================================
   MENU GAVETA OFF-CANVAS MOBILE PARA PRODUÇÃO
   Arquitetura acelerada por hardware, isolada no compositor e com zero layout shift
   ========================================================================== */

:root {
  --navi-drawer-width: min(85vw, 380px);
  --navi-drawer-easing: cubic-bezier(0.16, 1, 0.3, 1); /* Curva com elasticidade suave similar ao iOS */
}

/* Fundo modal com isolamento via backdrop-filter */
.navi-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(11, 15, 25, 0.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
  z-index: 9998;
}

.navi-drawer-backdrop.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* Painel off-canvas com camada isolada no compositor GPU */
.navi-drawer-panel {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--navi-drawer-width);
  height: 100dvh; /* Altura de Viewport Dinâmica para barras de endereços móveis */
  background: #ffffff;
  z-index: 9999;
  
  /* Isola rigorosamente a animação no compositor da GPU */
  transform: translate3d(-100%, 0, 0);
  will-change: transform;
  transition: transform 0.32s var(--navi-drawer-easing);
  
  /* Contenção CSS para eliminar recálculos de layout */
  contain: layout size style;
  
  /* Previne vazamento de rolagem para o fundo */
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  box-shadow: 8px 0 24px rgba(0, 0, 0, 0.12);
}

.navi-drawer-panel.is-open {
  transform: translate3d(0, 0, 0);
}

/* Cabeçalho da Gaveta: Barra fixa de orientação */
.navi-drawer-header {
  height: 60px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
}

/* Contêiner Rolável com Momento Nativo por Hardware */
.navi-drawer-body {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 12px 0;
}

/* Rodapé da Gaveta: Preserva insets de Safe-Area do iOS */
.navi-drawer-footer {
  padding: 16px;
  padding-bottom: max(16px, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  background: #f9fafb;
  flex-shrink: 0;
}

Principais Atributos de Engenharia Neste Código

  1. transform: translate3d(-100%, 0, 0): Força o navegador móvel a promover o painel da gaveta a uma camada dedicada de composição na GPU. Movimentar a gaveta altera apenas coordenadas de composição, atingindo taxas contínuas de 60fps a 120fps com zero recálculos de layout.
  2. height: 100dvh: A unidade Dynamic Viewport Height gerencia a alternância de tamanho das interfaces de navegadores móveis (como a barra de endereço retrátil do Safari e Chrome no iOS e Android) sem saltos bruscos ou espaços em branco inferiores.
  3. overscroll-behavior: contain: Enclausura a rolagem dentro do painel da gaveta. Quando o cliente atinge o final da lista de categorias, continuar arrastando o dedo não provoca o efeito elástico nem rola a página de produto em segundo plano.
  4. padding-bottom: max(16px, env(safe-area-inset-bottom)): Impede que links institucionais, seletores de idioma e moedas fiquem ocultos sob a barra física do indicador de início (Home Indicator) dos aparelhos iOS.

Arquitetura Visual: Acordeão Legado vs. Drill-Down de Alta Velocidade

O diagrama arquitetural a seguir compara o modelo tradicional de expansão vertical ilimitada com os pipelines modernos de navegação drill-down acelerados por hardware:

Diagrama técnico isométrico em 3D contrastando o caos do menu gaveta em acordeão legado com o pipeline off-canvas de alta velocidade
Figura 1: Comparativo arquitetural demonstrando o caos do acordeão legado (aninhamento ilimitado, quedas a 24fps por layout thrashing, mais de 450 nós DOM em SSR) contra um pipeline off-canvas de alta velocidade com drill-down em 2 níveis rígidos, transições a 60fps no compositor, busca na gaveta e entrega via Edge em menos de 30ms.

Na arquitetura modernizada com navegação drill-down:

  • Quando o usuário toca em uma categoria-pai (por exemplo, “Casacos e Jaquetas”), o painel da gaveta desliza horizontalmente de forma suave, revelando as subcategorias em uma tela limpa e preservando o mapa mental do cliente.
  • Um botão fixo < Voltar restaura instantaneamente a visão geral do nível superior sem reposicionamento involuntário da rolagem.
  • A altura total renderizada permanece rigorosamente fixa em 100% da altura da tela, eliminando a fadiga de rolagem vertical.

Hierarquia de Informação: O Que Pertence à Gaveta vs. à Tab Bar Inferior

Uma das decisões arquiteturais mais decisivas consiste em separar as responsabilidades entre a Tab Bar inferior permanente e o menu gaveta off-canvas:

[TAB BAR INFERIOR PERMANENTE: 20% das Rotas de Maior Frequência e Velocidade]
  ├── Início (Redefinição de Orientação)
  ├── Departamentos / Loja (Aciona a Gaveta Off-Canvas)
  ├── Busca (Consulta Direta por Palavra-Chave de Alta Intenção)
  └── Carrinho (Contador Dinâmico e Abertura do Drawer de Carrinho)

[MENU GAVETA OFF-CANVAS: 80% da Profundidade do Catálogo e Governança Secundária]
  ├── [Cabeçalho Fixo]: Barra de Busca Preditiva de Produtos na Gaveta
  ├── [Navegação de Nível 1]: Taxonomia Completa de Departamentos (Feminino, Masculino, Equipamentos, Promoções)
  ├── [Banners Promocionais Visuais]: Destaques de Categorias da Coleção e Lookbooks Sazonais
  ├── [Recursos do Cliente]: Histórico de Pedidos, Clube de Fidelidade VIP, Acesso à Lista de Desejos
  └── [Rodapé Fixo]: Seletores de Moeda/Idioma, Central de Ajuda, Políticas e Termos

Ao isolar os pontos de contato mais frequentes na Tab Bar inferior permanente, o menu gaveta é desonerado de atuar como atalho improvisado de checkout ou botão inicial. Ele pode se concentrar no que faz de melhor: proporcionar uma experiência metódica e fluida de descoberta de catálogo.


Engenharia de Acessibilidade: Implementando o Focus Trapping com W3C APG

Um menu gaveta para e-commerce deve atender rigorosamente às diretrizes do W3C WAI-ARIA Authoring Practices Guide para Diálogos Modais (Dialog Modal). Em JavaScript, isso requer um controlador com gestão de estado:

class MobileDrawerController {
  constructor(drawerEl, triggerEl) {
    this.drawer = drawerEl;
    this.trigger = triggerEl;
    this.focusables = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';
    this.isOpen = false;
    
    this.init();
  }

  init() {
    // Enforce W3C APG modal dialog attributes
    this.drawer.setAttribute('role', 'dialog');
    this.drawer.setAttribute('aria-modal', 'true');
    if (!this.drawer.hasAttribute('aria-label') && !this.drawer.hasAttribute('aria-labelledby')) {
      this.drawer.setAttribute('aria-label', 'Mobile Navigation Drawer');
    }
    this.trigger.setAttribute('aria-expanded', 'false');

    this.trigger.addEventListener('click', () => this.toggle());
    document.addEventListener('keydown', (e) => {
      if (this.isOpen && e.key === 'Escape') this.close();
      if (this.isOpen && e.key === 'Tab') this.trapFocus(e);
    });
  }

  open() {
    this.isOpen = true;
    this.drawer.classList.add('is-open');
    this.trigger.setAttribute('aria-expanded', 'true');
    
    // Inverte a acessibilidade do DOM de fundo para evitar vazamento de foco
    document.querySelector('main').setAttribute('inert', '');
    
    // Foca automaticamente no botão de fechar ou no primeiro elemento interativo
    const firstFocusable = this.drawer.querySelectorAll(this.focusables)[0];
    if (firstFocusable) firstFocusable.focus();
  }

  close() {
    this.isOpen = false;
    this.drawer.classList.remove('is-open');
    this.trigger.setAttribute('aria-expanded', 'false');
    
    // Restaura a árvore de acessibilidade no DOM de segundo plano
    document.querySelector('main').removeAttribute('inert');
    
    // Devolve o foco ao botão de abertura original
    this.trigger.focus();
  }

  trapFocus(e) {
    const focusableElements = Array.from(this.drawer.querySelectorAll(this.focusables));
    const firstElement = focusableElements[0];
    const lastElement = focusableElements[focusableElements.length - 1];

    if (e.shiftKey && document.activeElement === firstElement) {
      lastElement.focus();
      e.preventDefault();
    } else if (!e.shiftKey && document.activeElement === lastElement) {
      firstElement.focus();
      e.preventDefault();
    }
  }
}

Por Que o Atributo inert é Fundamental

Historicamente, prender o foco dentro de um modal exigia loops complexos em JavaScript monitorando eventos de focusin por todo o objeto document. Com o suporte dos navegadores modernos ao atributo HTML inert, a chamada document.querySelector('main').setAttribute('inert', '') remove instantaneamente o conteúdo da página de fundo das APIs de acessibilidade e dos testes de clique do ponteiro, eliminando vazamentos de navegação por teclado com zero custo de processamento na CPU.


Trade-offs Obrigatórios de Engenharia

Projetar uma gaveta mobile de excelência envolve escolher entre prioridades conflitantes de experiência de usuário:

[Árvore em Acordeão Completo]  <------------------->  [Drill-Down Hierárquico]  <------------------->  [Hub de Busca em Tela Cheia]
  Varredura em visualização única                     Painéis isolados e limpos em 2 níveis            Nenhuma exploração visual de categorias
  Alta fadiga de rolagem (4.000px)                    Exige toque para avançar                         Exige alta intenção de digitação
  Severa desorientação espacial                       Preserva a orientação cognitiva                  Ignora a curadoria de departamentos
Parâmetro de Avaliação Acordeão em Coluna Única Painéis Deslizantes Drill-Down Gaveta Desacoplada em Edge (Navi+)
Escalabilidade em Profundidade Baixa (Quebra acima de 20 links) Alta (Suporta 500+ categorias) Máxima (Árvores dinâmicas multinível)
Latência de Animação Instável (Quedas por reflow) Rápida (Transform no compositor) Abaixo de 30ms (JSON pré-em-cache na Edge)
Impacto no Tamanho do DOM Pesado (Árvore SSR completa) Moderado (SSR padrão em Liquid) Zero inchaço no DOM SSR (Hidratado sob demanda)
Banners e Recursos Visuais Deforma o fluxo do acordeão Slots promocionais dedicados Cards visuais com dimensionamento responsivo
Atrito para Voltar na Navegação Alto (Exige rolagem para o topo) Baixo (Cabeçalho de retorno fixo) Retorno de estado com um único toque

Matriz de Decisão para Lojistas: Taxonomia de Gaveta

Nem todos os catálogos de e-commerce necessitam de painéis drill-down com múltiplos níveis. Utilize a matriz a seguir para selecionar a arquitetura de gaveta ideal com base no volume e na complexidade do catálogo:

Taxonomia Profunda (>3 níveis) │  Quadrante 2: Drill-Down Hierárquico         Quadrante 4: Hub Corporativo + Busca
                               │  - Colunas Miller / painéis deslizantes      - Campo de busca preditiva integrado
                               │  - Breadcrumbs fixos com botão `< Voltar`    - Deslizamento multinível com tags
                               ├──────────────────────────────────────────────────────────────────────────────
Taxonomia Plana (≤2 níveis)    │  Quadrante 1: Gaveta Simples e Limpa         Quadrante 3: Gaveta Visual em Blocos
                               │  - Lista linear direta + utilitários         - Selos visuais e cards de categorias
                               │  - Varredura imediata, zero toques extras    - Alto apelo para compradores visuais
                               └──────────────────────────────────────────────────────────────────────────────
                                          Catálogo Enxuto (<100 SKUs)                   Catálogo Amplo (1.000+ SKUs)
  • Quadrante 1 (Catálogo Enxuto, Taxonomia Plana): Marcas diretas ao consumidor (D2C) com menos de 50 produtos devem evitar drill-downs. Uma gaveta direta e limpa com 6 a 10 links destacados oferece a navegação mais rápida.
  • Quadrante 2 (Catálogo Enxuto, Taxonomia Técnica Profunda): Lojas de eletrônicos ou ferramentas de nicho necessitam de painéis estruturados de drill-down para separar especificações técnicas sem rolagens exaustivas de tela.
  • Quadrante 3 (Catálogo Amplo, Taxonomia Visual Ampla): Marcas de moda, calçados e decoração com lançamentos sazonais contínuos beneficiam-se da inclusão de miniaturas e cards visuais já no primeiro nível da gaveta.
  • Quadrante 4 (Catálogo Corporativo, Taxonomia Multinível): Lojas de departamentos e marketplaces multimarcas devem combinar painéis drill-down com uma barra de busca preditiva embutida no topo da gaveta, permitindo alternar instantaneamente entre navegação visual e filtragem textual.

A Abordagem de Engenharia da Navi+

A Navi+ projetou seu mecanismo de menu gaveta mobile para eliminar em definitivo os gargalos históricos de desempenho presentes nos temas tradicionais da Shopify:

  • Entrega Desacoplada via Edge: A taxonomia do menu gaveta mobile é armazenada como JSON compactado distribuído na rede global Cloudflare R2, eliminando mais de 400 nós DOM redundantes típicos dos templates Liquid.
  • Montagem de Gaveta Abaixo de 30ms: O painel deslizante é instanciado imediatamente ao toque, executando transições fluidas a 60fps na GPU sem causar Cumulative Layout Shift (0.00 CLS).
  • Compensação Automática de Safe-Area: Detecção de hardware integrada garante que os rodapés das gavetas nunca fiquem obstruídos pelas barras de gestos físicos de navegação no iOS ou Android.
  • Acessibilidade W3C APG Nativa: Focus trapping automático, captura da tecla ESC e isolamento do plano de fundo via atributo inert vêm completamente pré-configurados de fábrica.
  • Coexistência Perfeita com o Tema: Funciona em total harmonia com o tema existente da Shopify, sincronizando automaticamente o status de login do cliente, contadores de carrinho e endpoints de busca.

Checklist de 5 Passos para Auditoria de Menus Gaveta Mobile

  • Auditar Taxa de Quadros (FPS): Grave um perfil de desempenho no Chrome DevTools enquanto abre e fecha a gaveta; certifique-se de que as transformações na GPU sustentem 60fps constantes.
  • Validar Espaçamento Inferior de Safe-Area: Teste a gaveta em um iPhone físico recente para confirmar que links de conta, moeda e políticas no rodapé não fiquem cobertos pela barra Home Indicator.
  • Testar Bloqueio de Rolagem em Segundo Plano: Abra a gaveta e arraste vigorosamente a lista de categorias; certifique-se de que a página de produtos ao fundo não sofra rolagem indesejada.
  • Checar Retenção de Foco (Focus Trapping): Pressione a tecla Tab repetidamente enquanto a gaveta estiver aberta; verifique se o foco circula exclusivamente pelos itens da gaveta sem vazar para a página inativa.
  • Aplicar a Regra de Área de Toque de 44px: Meça a altura de todos os links clicáveis; garanta que todas as linhas de categorias, botões de expansão e ícones de fechar atinjam a dimensão mínima de 44×44px.

Perguntas Frequentes (FAQ)

O menu gaveta mobile deve abrir pela esquerda ou pela direita?

As convenções de usabilidade recomendam a abertura pela esquerda para a navegação primária da loja, acompanhando a ordem de leitura ocidental (da esquerda para a direita) onde o ícone de hambúrguer costuma se localizar no canto superior esquerdo. Em contrapartida, as gavetas de carrinho de compras devem abrir invariavelmente pela direita, alinhando-se ao ícone de carrinho no canto superior direito e ao fluxo habitual de checkout.

Quantos níveis de profundidade um menu gaveta mobile deve ter?

As melhores práticas de arquitetura recomendam limitar a gaveta mobile a no máximo dois níveis (por exemplo: Feminino → Casacos). Se o seu sortimento exigir um terceiro nível (por exemplo: Feminino → Casacos → Sobretudos), adote painéis horizontais deslizantes (drill-down) em vez de acordeões verticais, e incorpore uma barra de busca preditiva no topo da gaveta para oferecer um atalho imediato.

O menu gaveta mobile elimina a necessidade de uma Tab Bar inferior?

Não. Pesquisas do Nielsen Norman Group comprovam que combinar um menu gaveta off-canvas (responsável pela profundidade detalhada do catálogo) com uma Tab Bar inferior permanente (focada nas ações mais ágeis como Início, Busca e Carrinho) atinge 86% de engajamento na navegação mobile, contra apenas 57% quando a loja depende exclusivamente de um menu gaveta.


Principais Referências Técnicas e de Usabilidade

  1. Nielsen Norman Group: Mobile Navigation: Comparing Hidden, Visible, and Combo Patterns. Arquivos de Evidências NN/g.
  2. Baymard Institute (2024–2026): Mobile E-Commerce Navigation Benchmark & Information Architecture Audits. Baymard.com
  3. W3C Web Accessibility Initiative (WAI): WAI-ARIA Authoring Practices Guide (APG) — Padrão Dialog (Modal). W3C APG
  4. Google Chrome Web Performance Team: Stick to Compositor-Only Properties and Manage Layer Count. Web.dev Performance
  5. WebKit CSS Standards: Designing Websites for iPhone X & CSS Round Display Insets. WebKit Blog

Explore os temas

Este guia traz links para artigos específicos — aprofunde-se em cada um.

Compartilhar Facebook X LinkedIn

Crie uma navegação que seus clientes vão adorar

O Navi+ ajuda você a criar menus de alta conversão para Shopify e qualquer site — sem código.

Experimente o Navi+ grátis See Live Demo →
Explore menus: Bottom Tab Bar • Mega Menu • Mobile Drawer • Floating FAB • Plans & Pricing

Comece com Navi+

Escolha sua plataforma — gratuito para instalar, ao vivo em minutos.