721 980 177
6. 5. 2023

Hamburger menu bez JS

Zpět
Obrázek - Hamburger menu bez JS

Hamburger menu se stal běžným prvkem mobilních webových stránek, protože umožňuje uživatelům rychlý přístup k navigaci a zároveň šetří místo na obrazovce. V tomto článku se podíváme na to, jak vytvořit mobilní hamburger menu pouze za použití HTML a CSS.

 

1. HTML struktura

Začneme vytvořením základní HTML struktury pro naše menu. Potřebujeme tři základní prvky - ikonu pro hamburger menu, kontejner pro menu a samotné položky menu. Zde je ukázka kódu:

<div class="navbar">
  <div class="menu-icon">
    <span></span>
    <span></span>
    <span></span>
  </div>
  <div class="menu-items">
    <a href="#">Domů</a>
    <a href="#">O nás</a>
    <a href="#">Služby</a>
    <a href="#">Kontakt</a>
  </div>
</div>

Vidíte, že jsme vytvořili tři <span> elementy uvnitř <div> s třídou menu-icon. Tyto elementy budou sloužit jako čáry pro ikonu hamburger menu. Dále jsme vytvořili kontejner pro položky menu s třídou menu-items. V našem příkladu jsme vytvořili čtyři položky menu - "Domů", "O nás", "Služby" a "Kontakt".

 

2. CSS styly

Nyní přidáme CSS styly, abychom vytvořili vizuální efekt pro náš hamburger menu. Vytvoříme také tlačítko pro otevírání a zavírání menu.

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 18px;
  cursor: pointer;
}

.menu-icon span {
  display: block;
  height: 3px;
  background-color: #333;
  border-radius: 3px;
}

.menu-items {
  display: none;
  flex-direction: column;
  padding: 20px;
  background-color: #fff;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
}

.navbar.active .menu-items {
  display: flex;
}

@media only screen and (min-width: 768px) {
  .navbar {
    flex-direction: row;
    position: static;
    background-color: transparent;
  }

  .menu-icon {
    display: none;
  }

  .menu-items {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    position: static;
    background-color: transparent;

 

Jak je to tu se soukromím?

Informace k zpracování osobních údajů naleznete zde.

 

Tato stránka používá základní cookies, které jsou potřebné pro chod stránky, neuchovávají žádné Vaše data.

Dále používám službu Google Analytics, kterou v nastavení můžete deaktivovat. Služba je poskytovana společností Google, Inc. (dále jen "Google"). Služba Google Analytics používá soubory cookies.

Informace o užívání stránky spolu s obsahem souboru cookie bude společností Google přenesen a uložen na serverech ve Spojených státech.

Google bude užívat těchto informací pro účely vyhodnocování užívání stránky a vytváření zpráv o její aktivitě, určených pro její provozovatele, a pro poskytování dalších služeb týkajících se činností na stránce a užívání internetu vůbec.

Google může také poskytnout tyto informace třetím osobám, bude-li to požadováno zákonem nebo budu-li takovéto třetí osoby zpracovávat tyto informace pro Google.

Služba Google Analytics je rozšířena o související reklamní funkce poskytované společností Google, a to:

  • přehledy zobrazení v reklamní síti Google,
  • remarketing (zobrazování reklam v obsahové síti na základě zhlédnutých produktů),
  • rozšířené demografické přehledy (reportování anonymních demografických dat).

Více informací o zpracování a využití dat najdete ve smluvních podmínkách společnosti Google.