{"id":9993,"date":"2026-04-12T15:26:27","date_gmt":"2026-04-12T15:26:27","guid":{"rendered":"https:\/\/buzz61.com.br\/buzz6126\/?p=9993"},"modified":"2026-04-12T15:26:27","modified_gmt":"2026-04-12T15:26:27","slug":"como-criar-um-menu-mobile-flutuante-ios-style-no-elementor-o-guia-definitivo","status":"publish","type":"post","link":"https:\/\/buzz61.com.br\/buzz6126\/como-criar-um-menu-mobile-flutuante-ios-style-no-elementor-o-guia-definitivo\/","title":{"rendered":"Como Criar um Menu Mobile Flutuante (iOS Style) no Elementor: O Guia Definitivo"},"content":{"rendered":"<p data-path-to-node=\"5\">No design de interfaces moderno, a experi\u00eancia do usu\u00e1rio (UX) mobile dita o sucesso de uma estrat\u00e9gia de crescimento. Se o seu menu mobile ainda \u00e9 uma barra est\u00e1tica no topo que obstrui a leitura, voc\u00ea est\u00e1 perdendo convers\u00e3o.<\/p>\n<p data-path-to-node=\"6\">Neste tutorial, vamos construir o <b data-path-to-node=\"6\" data-index-in-node=\"34\">&#8220;Smart Floating Menu&#8221;<\/b>: um cabe\u00e7alho que desaparece ao rolar para baixo e ressurge como uma p\u00edlula flutuante no rodap\u00e9 apenas quando o usu\u00e1rio faz o scroll-up.<\/p>\n<h2 data-path-to-node=\"7\">Por que usar um Menu Sticky no Bottom?<\/h2>\n<ul data-path-to-node=\"8\">\n<li>\n<p data-path-to-node=\"8,0,0\"><b data-path-to-node=\"8,0,0\" data-index-in-node=\"0\">Alcance do Polegar (Thumb Zone):<\/b> Facilita a navega\u00e7\u00e3o em telas grandes.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"8,1,0\"><b data-path-to-node=\"8,1,0\" data-index-in-node=\"0\">Leitura Imersiva:<\/b> Libera 100% da tela durante o consumo de conte\u00fado.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"8,2,0\"><b data-path-to-node=\"8,2,0\" data-index-in-node=\"0\">Est\u00e9tica Apple:<\/b> Traz o visual &#8220;App-Like&#8221; para sites WordPress.<\/p>\n<\/li>\n<\/ul>\n<hr data-path-to-node=\"9\" \/>\n<h2 data-path-to-node=\"10\">Passo 1: Estrutura no Elementor<\/h2>\n<p data-path-to-node=\"11\">Para que este tutorial funcione em qualquer tema, n\u00e3o usaremos o cabe\u00e7alho padr\u00e3o do seu template. Vamos criar um <b data-path-to-node=\"11\" data-index-in-node=\"114\">Container<\/b> personalizado.<\/p>\n<ol start=\"1\" data-path-to-node=\"12\">\n<li>\n<p data-path-to-node=\"12,0,0\">Abra o <b data-path-to-node=\"12,0,0\" data-index-in-node=\"7\">Elementor Theme Builder<\/b> e crie um novo Header (ou edite o existente).<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"12,1,0\">Crie um <b data-path-to-node=\"12,1,0\" data-index-in-node=\"8\">Container<\/b> principal para o seu Menu Mobile.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"12,2,0\">No painel lateral, v\u00e1 em <b data-path-to-node=\"12,2,0\" data-index-in-node=\"25\">Avan\u00e7ado &gt; Classes CSS<\/b> e adicione: <code data-path-to-node=\"12,2,0\" data-index-in-node=\"60\">menumobile<\/code>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"12,3,0\">Dentro deste container, posicione seu Logo e o \u00edcone de menu (hamburguer). Configure o container como <b data-path-to-node=\"12,3,0\" data-index-in-node=\"102\">Flexbox (Horizontal)<\/b> e <b data-path-to-node=\"12,3,0\" data-index-in-node=\"125\">Justificar Conte\u00fado: Espa\u00e7o entre (Space-between)<\/b>.<\/p>\n<\/li>\n<\/ol>\n<hr data-path-to-node=\"13\" \/>\n<h2 data-path-to-node=\"14\">Passo 2: O CSS de Engenharia (Agn\u00f3stico)<\/h2>\n<p data-path-to-node=\"15\">Este c\u00f3digo controla a transi\u00e7\u00e3o de estados. Ele foi desenhado para ignorar barreiras de temas e focar apenas no comportamento da classe <code data-path-to-node=\"15\" data-index-in-node=\"137\">.menumobile<\/code>.<\/p>\n<p data-path-to-node=\"16\">Copie e cole em <b data-path-to-node=\"16\" data-index-in-node=\"16\">Apar\u00eancia &gt; Personalizar &gt; CSS Adicional<\/b>:<\/p>\n<blockquote><p>\/* SMART MOBILE MENU &#8211; METODOLOGIA BUZZ61<br \/>\nEste c\u00f3digo cria o efeito de p\u00edlula flutuante e transpar\u00eancia.<br \/>\n*\/<br \/>\n@media (max-width: 1024px) {<\/p>\n<p>\/* 1. ESTADO INICIAL (TOPO) *\/<br \/>\n.menumobile:not(.is-sticky-bottom) {<br \/>\nwidth: 100% !important;<br \/>\nmax-width: 100vw !important;<br \/>\nleft: 0 !important;<br \/>\npadding: 24px !important;<br \/>\nbox-sizing: border-box !important;<br \/>\ndisplay: flex !important;<br \/>\njustify-content: center !important;<br \/>\nalign-items: center !important;<br \/>\nposition: relative !important;<br \/>\nbackground-color: transparent !important;<br \/>\ntransition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.3s ease !important;<br \/>\nz-index: 9998;<br \/>\n}<\/p>\n<p>\/* 2. ESCONDER PARA CIMA NO SCROLL DOWN *\/<br \/>\n.menumobile.is-hidden-top {<br \/>\ntransform: translateY(-120%) !important;<br \/>\nopacity: 0 !important;<br \/>\npointer-events: none;<br \/>\n}<\/p>\n<p>\/* 3. ESTADO STICKY BOTTOM (SCROLL UP) *\/<br \/>\n.menumobile.is-sticky-bottom {<br \/>\nposition: fixed !important;<br \/>\ntop: auto !important;<br \/>\nbottom: 15px !important;<br \/>\nleft: 50% !important;<br \/>\ntransform: translateX(-50%) !important;<br \/>\nwidth: 90% !important;<br \/>\nmax-width: 380px !important;<br \/>\npadding: 10px 20px !important;<br \/>\nbackground: rgba(255, 255, 255, 0.1) !important;<br \/>\nbackdrop-filter: blur(12px);<br \/>\n-webkit-backdrop-filter: blur(12px);<br \/>\nborder-radius: 50px;<br \/>\nopacity: var(&#8211;scroll-p) !important;<br \/>\npointer-events: auto;<br \/>\nz-index: 9999;<\/p>\n<p>\/* Efeito Din\u00e2mico de Escala e Subida *\/<br \/>\ntransform:<br \/>\ntranslateX(-50%)<br \/>\ntranslateY(calc(80px * (1 &#8211; var(&#8211;scroll-p))))<br \/>\nscale(calc(0.8 + (0.2 * var(&#8211;scroll-p)))) !important;<\/p>\n<p>box-shadow: 0 10px 30px rgba(0,0,0,0.3);<br \/>\n}<\/p>\n<p>\/* LIMPEZA DE TEMA *\/<br \/>\n.menumobile::before { content: none !important; display: none !important; }<br \/>\n}<\/p><\/blockquote>\n<hr data-path-to-node=\"13\" \/>\n<h2 data-path-to-node=\"19\">Passo 3: A L\u00f3gica de Movimento (JavaScript)<\/h2>\n<p data-path-to-node=\"20\">Para que o menu &#8220;responda&#8221; \u00e0 velocidade do seu dedo, usaremos uma vari\u00e1vel din\u00e2mica que monitora a dire\u00e7\u00e3o do scroll.<\/p>\n<p data-path-to-node=\"21\">Insira este c\u00f3digo em um widget <b data-path-to-node=\"21\" data-index-in-node=\"32\">HTML<\/b> (no rodap\u00e9) ou via <b data-path-to-node=\"21\" data-index-in-node=\"56\">Elementor &gt; Custom Code<\/b>:<\/p>\n<blockquote><p>&lt;script&gt;<br \/>\n\/**<br \/>\n* Smart Mobile Menu Logic &#8211; Buzz61<br \/>\n* Monitora a dire\u00e7\u00e3o do scroll e aplica os estados de visibilidade.<br \/>\n*\/<br \/>\ndocument.addEventListener(&#8216;DOMContentLoaded&#8217;, function() {<br \/>\nconst header = document.querySelector(&#8216;.menumobile&#8217;);<br \/>\nif (!header) return;<\/p>\n<p>let lastScrollY = window.scrollY;<br \/>\nlet upScrollAccumulator = 0;<br \/>\nconst threshold = 120; \/\/ Sensibilidade para o menu aparecer 100%<\/p>\n<p>const handleSmartScroll = () =&gt; {<br \/>\nconst currentScrollY = window.scrollY;<br \/>\nconst delta = lastScrollY &#8211; currentScrollY; \/\/ Positivo = Scroll Up<\/p>\n<p>if (currentScrollY &lt; 50) {<br \/>\n\/\/ No topo da p\u00e1gina<br \/>\nheader.classList.remove(&#8216;is-sticky-bottom&#8217;, &#8216;is-hidden-top&#8217;);<br \/>\nheader.style.setProperty(&#8216;&#8211;scroll-p&#8217;, 0);<br \/>\nupScrollAccumulator = 0;<br \/>\n}<br \/>\nelse if (delta &lt; 0) {<br \/>\n\/\/ Descendo a p\u00e1gina (Scroll Down)<br \/>\nheader.classList.add(&#8216;is-hidden-top&#8217;);<br \/>\nheader.classList.remove(&#8216;is-sticky-bottom&#8217;);<br \/>\nupScrollAccumulator = 0;<br \/>\n}<br \/>\nelse {<br \/>\n\/\/ Subindo a p\u00e1gina (Scroll Up)<br \/>\nheader.classList.remove(&#8216;is-hidden-top&#8217;);<br \/>\nheader.classList.add(&#8216;is-sticky-bottom&#8217;);<br \/>\nupScrollAccumulator = Math.min(upScrollAccumulator + delta, threshold);<br \/>\nheader.style.setProperty(&#8216;&#8211;scroll-p&#8217;, upScrollAccumulator \/ threshold);<br \/>\n}<\/p>\n<p>lastScrollY = currentScrollY;<br \/>\n};<\/p>\n<p>\/\/ Executa a l\u00f3gica a cada movimento de scroll com performance otimizada<br \/>\nwindow.addEventListener(&#8216;scroll&#8217;, () =&gt; {<br \/>\nwindow.requestAnimationFrame(handleSmartScroll);<br \/>\n}, { passive: true });<br \/>\n});<br \/>\n&lt;\/script&gt;<\/p><\/blockquote>\n<hr data-path-to-node=\"13\" \/>\n<h2 data-path-to-node=\"24\">Otimiza\u00e7\u00e3o SEO: Palavras-Chave e Termos de Busca<\/h2>\n<p data-path-to-node=\"25\">Para que este artigo ranqueie no Google e YouTube, focamos nos termos t\u00e9cnicos mais buscados:<\/p>\n<ul data-path-to-node=\"26\">\n<li>\n<p data-path-to-node=\"26,0,0\"><b data-path-to-node=\"26,0,0\" data-index-in-node=\"0\">Elementor Mobile Menu Sticky Bottom<\/b><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"26,1,0\"><b data-path-to-node=\"26,1,0\" data-index-in-node=\"0\">iOS Style Floating Header WordPress<\/b><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"26,2,0\"><b data-path-to-node=\"26,2,0\" data-index-in-node=\"0\">Menu que aparece no Scroll Up Elementor<\/b><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"26,3,0\"><b data-path-to-node=\"26,3,0\" data-index-in-node=\"0\">Custom CSS Mobile Navigation Tutorial<\/b><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"26,4,0\"><b data-path-to-node=\"26,4,0\" data-index-in-node=\"0\">Design de Menu P\u00edlula (Pill Menu) Mobile<\/b><\/p>\n<\/li>\n<\/ul>\n<h3 data-path-to-node=\"27\">Conclus\u00e3o<\/h3>\n<p data-path-to-node=\"28\">Ao implementar esse sistema, voc\u00ea n\u00e3o est\u00e1 apenas mudando um c\u00f3digo; est\u00e1 elevando a engenharia de marketing do seu site. O menu deixa de ser um obst\u00e1culo e passa a ser uma ferramenta de suporte ao crescimento.<\/p>\n<p data-path-to-node=\"29\"><b data-path-to-node=\"29\" data-index-in-node=\"0\">Gostou dessa solu\u00e7\u00e3o?<\/b> Conhe\u00e7a a metodologia <b data-path-to-node=\"29\" data-index-in-node=\"44\">Growth 61X<\/b> da Buzz61 e transforme seu site em uma m\u00e1quina de escala.<\/p>\n<hr data-path-to-node=\"30\" \/>\n<h3 data-path-to-node=\"31\">Dicas para o Post:<\/h3>\n<ol start=\"1\" data-path-to-node=\"32\">\n<li>\n<p data-path-to-node=\"32,0,0\"><b data-path-to-node=\"32,0,0\" data-index-in-node=\"0\">Imagens\/Prints:<\/b> Tire prints do menu no topo (centralizado) e dele como p\u00edlula no rodap\u00e9.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"32,1,0\"><b data-path-to-node=\"32,1,0\" data-index-in-node=\"0\">V\u00eddeo:<\/b> Se puder, grave um pequeno v\u00eddeo da tela do celular mostrando a fluidez da anima\u00e7\u00e3o. No YouTube, use o t\u00edtulo: <i data-path-to-node=\"32,1,0\" data-index-in-node=\"118\">&#8220;Como fazer o Menu do iPhone no Elementor (Passo a Passo)&#8221;<\/i>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"32,2,0\"><b data-path-to-node=\"32,2,0\" data-index-in-node=\"0\">Meta-Description:<\/b> <i data-path-to-node=\"32,2,0\" data-index-in-node=\"18\">&#8220;Aprenda a criar um menu mobile avan\u00e7ado no Elementor que aparece no scroll up com anima\u00e7\u00e3o estilo iOS. Tutorial passo a passo com CSS e JS agn\u00f3stico.&#8221;<\/i><\/p>\n<\/li>\n<\/ol>\n<p data-path-to-node=\"33\">O que achou dessa estrutura de artigo? Ela comunica bem o valor t\u00e9cnico que acabamos de criar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No design de interfaces moderno, a experi\u00eancia do usu\u00e1rio (UX) mobile dita o sucesso de uma estrat\u00e9gia de crescimento. Se o seu menu mobile ainda \u00e9 uma barra est\u00e1tica no topo que obstrui a leitura, voc\u00ea est\u00e1 perdendo convers\u00e3o. Neste tutorial, vamos construir o &#8220;Smart Floating Menu&#8221;: um cabe\u00e7alho que desaparece ao rolar para baixo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9993","post","type-post","status-publish","format-standard","hentry","category-company-insights"],"_links":{"self":[{"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/posts\/9993","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/comments?post=9993"}],"version-history":[{"count":2,"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/posts\/9993\/revisions"}],"predecessor-version":[{"id":9995,"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/posts\/9993\/revisions\/9995"}],"wp:attachment":[{"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/media?parent=9993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/categories?post=9993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buzz61.com.br\/buzz6126\/wp-json\/wp\/v2\/tags?post=9993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}