Diskuze: responzivne navigacne menu
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 13 zpráv z 13.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.


Budeš mít select, s display: none;
který se třeba při:
@media (max-width: 1065px) {
#select-menu {
display: block;
}
}
A normální menu schováš stejným způsobem. sice každou položku budeš muset do selectu psát znova, ale je to myslím ta jediná možnost jak toho docílit bez js.
Nejdříve si musíš určit, CO přesně má být na tvých stránkách v mobilu přístupné. Z menu se tedy mohou vyhodit blbosti, které nejsou podstatné a na mobil se dávat nebudou.
Pokud máš více než 3 položky, zvolil bych způsob skrytí menu pod nějaké tlačítko. Po kliku na tlačítko se ti nějakým způsobem zobrazí menu. Zde poté můžeš rozlišovat z variant podle šířky obrazovky (na výšku / na šířku).
Na výšku, tedy nejužší možnost, bych volil položku pod položku s tím, že pokud máš sub-menu, tak se ti otevře při kliku na danou položku vyšší úrovně.
Pokud bude obraz na šířku, tedy se ti nabízí širší místo, je zde možnost udělat menu s 50% šířkou - chce to poté ale promyslet logiku a design.
Obecně nyní doporučuji styl mobile-first, což VELMI zjednodušuje kód a usnadňuje práci, avšak pravda, že do začátku je to poměrně náročnější na představivost.
Toto je skor logika rozlozenia atd. Mna skor zaujima , ako si povedal "po kliku" na tlacitko , ci je nejaka nahrada za :hover na mobiloch/tabletoch , alebo sa musi pouzit :target alebo javascript
Pro mobilní zařízení není žádný náhradní hover efekt či něco
podobného. Prostě přes media queries nalajnuješ nový styl menu s
tlačítkem, na které když někdo ťukne, tak vyjede menu
Nevím co v tom hledáš za
složitosti
Javascript buď
využiješ nebo ne, není to povinnost 
Presne ako písal Honza Bittner. Pokliku na tlačítko sa otvorí a po ďalšom kliku zatvorí. Dá sa to aj v čistom CSS - niečo takéto: http://www.sitepoint.com/…gation-menu/, alebo potom cez JavaScript. Teoreticky by to bolo možné aj cez hover ale zatváranie tlačítkom by nefungovalo - fungovalo by len otvorenie, zatvorilo by sa tuknutím hocikde mimo menu.
Do toho bych JS, :hover, ba ani :target nemontoval.
Nejjednodužší bude využít checkboxu, kterému nastyluješ label. Podobně jako posílali odkaz výše.
Zde je však nutno přemýšlet, jelikož kód musí být rozpoložen tak, aby to vyhovovalo selektoru. V selektoru využijeme ~, a proto musí být menu, respektive tlačítko, v kódu nad tím, co chceme ovlivnit.
.muj-checkbox:checked ~ .stranka-pro-odsun
Ať už se řeklo cokoliv, tak select mi přijde jako zcela nevhodný. Už jenom kvůli tomu, že v něm uděláš jen jednu úroveň a je nestylovatelný, krom toho že ho některé prohlížeče (třeba safari u iPhone) implementují úplně jinak než klasický select.
Abych jenom nemlel pantem a taky poradil - vždycky pro menu používam nav a v něm netříděný seznam a v něm odkazy (nav -> ul - > li -> a). Vždy jsem použil horizontální menu, neměl jsem důvod používat vertikální (i když ve finále na telefonu z něj je v podstatě vertikální). Normálně na počítači je tedy menu v řadě, na jednom řádku. Pokud se smrskne stránka tak, že se nevejde, pak jednoduše všechny položky naházím pod sebe a roztáhnu je přes celou stránku. Jde to i s podmenu, ale pro opravdu příjemnou funkčnost to potřebuje js.
// Základem je, že všechny položky mají display block a float doleva. Na telefonu float zrušíš a roztáhneš. (někdo namítne, že je lepší použít display inline-block, ale z nějakýho důvodu to nepoužím, asi karma)
To jsou ty komplikace, když někdo nepoužívá IMHO dokonalejší
"mobile-first"... 
Tak to jsem nechtěl liknout. Je to otázka názoru 
Zobrazeno 13 zpráv z 13.