logo BigWay

Hamburger menu: Navigačný prvok pre responzívny web dizajn

Hamburger menu je navigačná ikona s tromi horizontálnymi čiarami, ktorá skrýva menu na mobilných zariadeniach a šetrí priestor na obrazovke.

Hamburger menu je navigačný prvok reprezentovaný ikonou troch horizontálnych čiar (☰), ktorý po kliknutí alebo dotyku zobrazí skryté menu. Názov dostal podľa vizuálnej podobnosti s hamburgerom, tri čiarky pripomínajú dva kúsky žemle a mäso medzi nimi. Dnes je to štandard mobilnej navigácie a nájdete ho na väčšine webov a aplikácií.

Hamburger ikona vznikla v 80. rokoch pre Xerox Star, jeden z prvých počítačov s grafickým rozhraním. Do mainstreamu sa vrátila okolo roku 2009, keď smartfóny zmenili spôsob ako ľudia prehliadajú web. Malé obrazovky jednoducho nemali miesto na klasickú horizontálnu navigáciu so siedmimi položkami. Tri čiarky menu tento problém vyriešili elegantne, skryjú navigáciu až kým ju používateľ naozaj potrebuje.

Prečo sa používa hamburger menu a kedy dáva zmysel

Hlavný dôvod existencie hamburger menu je úspora miesta na obrazovke. Pri šírke displeja 375 pixelov (štandardný iPhone) jednoducho nedokážete zobraziť päť položiek menu vedľa seba tak, aby boli čitateľné a klikateľné. Hamburger ikona zaberie asi 44×44 pixelov a zvyšok priestoru môžete využiť pre obsah ktorý používateľa zaujíma.

Hamburger menu dáva zmysel v týchto situáciách:

Na druhej strane, hamburger menu nie je univerzálne riešenie. Pri tvorbe webstránok často vidíme weby ktoré skrývajú navigáciu do hamburgera aj na desktope bez reálneho dôvodu. To je chyba. Ak máte 4 položky menu a dosť miesta ich zobraziť, skrývate používateľovi to čo hľadá.

Je hamburger menu dobré pre UX?

Odpoveď znie: záleží na kontexte. Hamburger menu má svoje miesto, ale má aj dokázateľné nevýhody ktoré musíte zvážiť.

Štúdie od Nielsen Norman Group ukazujú že skrytá navigácia znižuje interakciu s menu. Keď sú položky viditeľné, používatelia na ne klikajú častejšie, podľa niektorých testov až o 20-30%. To dáva zmysel. Čo nevidíte, to vám nepríde na um.

Výhody hamburger menu:

Nevýhody ktoré treba zvážiť:

V praxi sa nám osvedčil kompromis, hamburger menu na mobile, plná navigácia na desktope. Breakpoint býva okolo 768-1024 pixelov podľa počtu položiek. PriUX/UI dizajne testujeme obe varianty a sledujeme kde používatelia klikajú cez heatmapy.

Ako vytvoriť hamburger menu v HTML a CSS

Základná implementácia hamburger menu pozostáva z troch častí: HTML štruktúra pre ikonu a navigačné položky, CSS pre vizuálny štýl a animácie, a JavaScript pre interaktivitu (otvorenie/zatvorenie). Existujú aj čisto CSS riešenia bez JavaScriptu pomocou checkbox hacku, ale pre produkčné weby sa väčšinou používa JS kvôli lepšej kontrole a prístupnosti.

HTML štruktúra hamburger menu

Hamburger ikona sa skladá z troch span elementov v kontajneri button. Používame button namiesto div kvôli prístupnosti, screen readery ho rozpoznajú ako interaktívny prvok. Navigačné položky sú v nav elemente so zoznamom odkazov.

Kritické atribúty pre prístupnosť: aria-label popisuje čo tlačidlo robí, aria-expanded hovorí či je menu otvorené alebo zatvorené, aria-controls prepája tlačidlo s navigáciou ktorú ovláda. Bez týchto atribútov je hamburger menu nepoužiteľné pre ľudí so zrakovým postihnutím.

CSS pre hamburger ikonu a animácie

Základný štýl hamburger ikony zahŕňa tri horizontálne čiary s rovnakou šírkou (väčšinou 25-30 pixelov), výškou okolo 3-4 pixelov a medzerou medzi nimi asi 5-6 pixelov. Farba býva kontrastná voči pozadiu, biela na tmavom headeri, tmavá na svetlom.

Populárne animácie pri otvorení menu:

CSS transitions zabezpečujú plynulý prechod, typicky 0.3 sekundy s ease-in-out timing funkciou. Príliš rýchla animácia (pod 0.2s) pôsobí trhane, príliš pomalá (nad 0.5s) spomaľuje interakciu.

Mobilné menu štýly

Samotné menu po otvorení má niekoľko bežných variant:

Pre mobilné zariadenia odporúčame minimálnu výšku klikateľnej oblasti 44 pixelov, to je Apple Human Interface Guidelines štandard. Menšie dotykové ciele spôsobujú frustráciu a nesprávne kliky.

JavaScript funkcionalita a interakcia

JavaScript časť hamburger menu je relatívne jednoduchá, toggle trieda na kliknutie ktorá mení stav z otvoreného na zatvorené a naopak. Základná logika zahŕňa event listener na tlačidlo, prepínanie CSS triedy (napríklad .is-open) a aktualizáciu aria-expanded atribútu.

Dôležité detaily ktoré vývojári často zabúdajú:

Pre moderné weby existujú aj hotové riešenia. WordPress témy väčšinou majú hamburger menu implementované, rovnako frameworky ako Bootstrap či Tailwind CSS. Pri vlastnom vývoji odporúčame použiť overené knižnice namiesto písania od nuly, napríklad mmenu, hamburgers.css pre animácie ikony, alebo headroom.js pre auto-hide efekty.

Časté chyby pri implementácii hamburger menu

Pri auditoch webov narážame na rovnaké problémy opakovane. Tu sú najčastejšie chyby a ako ich vyriešiť:

Ďalší častý problém je výkon. Animácie na transform a opacity sú hardvérovo akcelerované, ale animovanie width, height alebo left/top vlastností spôsobuje layout recalculation a trhanie. Pri tvorbe e-shopov kde je performance kritická, vždy používame transform: translateX() namiesto left: -100%.

Alternatívy k hamburger menu

Hamburger nie je jediné riešenie mobilnej navigácie. V závislosti od typu webu a počtu položiek môžu byť lepšie iné vzory:

Výber závisí od konkrétneho projektu. E-shopy často kombinujú hamburger pre kategórie s bottom bar pre košík a účet. Korporátne weby väčšinou vystačia s klasickým hamburgerom. Aplikácie preferujú tab bar. Správne riešenie vychádza z toho ako používatelia s webom interagujú.

Hamburger menu a SEO

Z pohľadu SEO je hamburger menu bezproblémové ak je správne implementované. Google bot dokáže renderovať JavaScript a vidieť skryté menu položky. Dôležité je aby odkazy v menu boli štandardné anchor tagy s href atribútom, nie JavaScript-only navigácia.

Čo môže byť problém: ak skrývate dôležité odkazy len v hamburger menu a nikde inde na stránke, crawl budget na tieto podstránky môže byť nižší. Interné linky z viditeľného obsahu majú väčšiu váhu ako linky zo skrytej navigácie. Riešenie je jednoduché, dôležité stránky linkujte aj z obsahu, nie len z menu.

Zhrnutie

Hamburger menu je štandardný navigačný prvok pre mobilné zariadenia. Tri čiarky sú univerzálne rozpoznateľné a používatelia vedia čo očakávať. Správna implementácia zahŕňa prístupné HTML s aria atribútmi, plynulé CSS animácie a JavaScript ktorý rieši edge cases ako zatvorenie pri kliknutí mimo menu.

Pre viac inšpirácie si pozrite naše projekty z praxe.

Kľúčové je použiť hamburger tam kde dáva zmysel, na mobiloch a pri rozsiahlej navigácii. Na desktope s dostatkom miesta viditeľná navigácia funguje lepšie. V praxi to riešime napríklad prikorporátnom webe pre APLEND Group, kde desktop verzia má plnú navigáciu a hamburger sa aktivuje až pod 1024px. Ak riešite navigáciu na svojom webe a potrebujete poradiť s implementáciou, napíšte nám a prejdeme váš projekt spolu.

Potrebujete moderný a efektívny web?

Navrhujeme weby a e-shopy, ktoré sú intuitívne, škálovateľné a pripravené prinášať reálny biznis efekt – od dizajnu cez UX až po integráciu a správu obsahu.
Chceme web, ktorý konvertuje
Späť na všetky pojmy
crosschevron-down