Diskuze: Menu - nějaký nápad?

HTML a CSS HTML a CSS Menu - nějaký nápad? American English version English version

Avatar
k.ats
Člen
Avatar
k.ats:

Ahoj, pomalu vytvářím nový web a dnešní den se snažím vytvořit menu, respektive takové submenu pomocí css. Chtěl bych po najetí na Fotogalerie aby mi vyjel seznam menu. Zatím se mi povedlo docílit toho, že mi sice seznam vyjede ale odskočí mi další položky, co jsou vedle nad tím. Už nad tím přemýšlím celý den a jediný o mě napadlo, tak posunout tuto položku úplně doprava, ale to bych chtěl jako poslední variantu. Pak jsem našel, že existuje nějaký element menu, ve kterém by to mohlo jít, ale zde máte napsaný, že to nepodporují prohlížeče. Nebo tam podmenu dělat nebudu a vše bude až na té nové stránce fotogalerie. Další možnost nějaká jednoduchá java aplikace na menu? Co by jste zvolili, nebo co vám přijde jako nejvhodnější řešení? Zde je zatím můj pokus s menu: http://supastav.tode.cz/

Editováno 22.9.2014 13:07
 
Odpovědět 22.9.2014 13:06
Avatar
misaj
Člen
Avatar
misaj:

Ahoj, já bych zkusil přesunout div podmenu-pozadi mimo ul, tedy mimo celé menu.

 
Nahoru Odpovědět 22.9.2014 13:16
Avatar
Samuel Illo
Redaktor
Avatar
Odpovídá na k.ats
Samuel Illo :
<nav>
<ul>
<li class="aktivni">Item</li>
<li class="neaktivni">Item
<ul>
<li>Subitem</li>
</ul>
</li>
Editováno 22.9.2014 13:19
Nahoru Odpovědět 22.9.2014 13:19
www.samuelillo.com; lamka02sk(zavináč)samuelillo.com, www.point.samuelillo.com, www.csgorig.eu
Avatar
Samuel Illo
Redaktor
Avatar
Odpovídá na Samuel Illo
Samuel Illo :

A este tam daj ukoncenie na tagy...

Nahoru Odpovědět 22.9.2014 13:25
www.samuelillo.com; lamka02sk(zavináč)samuelillo.com, www.point.samuelillo.com, www.csgorig.eu
Avatar
k.ats
Člen
Avatar
k.ats:

Díky tźa rady. Ten div podmenu pozadi tomu nevadi. Spis tomu vadi cela sirka toho podmenu li. S tou aktivni a neaktivni tridou moc nerozumim ceho tim mam dosahnout. Muzes me prosim nakoépnout trochu podrobneji jak tim docilim aby me ty polozky v menu neutikali? Dekuji

 
Nahoru Odpovědět 22.9.2014 17:33
Avatar
Samuel Illo
Redaktor
Avatar
Odpovídá na k.ats
Samuel Illo :

Aktivna, neaktivna trieda je to, čo máš na tom webe, tak som to tam len tak dal :)
Dávno som toto už nerobil, ale skús sa pohrať s position. Asi čas si to znova skúsiť :D

Nahoru Odpovědět 22.9.2014 17:38
www.samuelillo.com; lamka02sk(zavináč)samuelillo.com, www.point.samuelillo.com, www.csgorig.eu
Avatar
k.ats
Člen
Avatar
k.ats:

jj pozicovani. Bohuzel tady si moc nepomuzu. Kdyz dam relativni pozici, tak to prave skace s tim jak se me zobrazi to podmenu. Kdyz dam absolutni, tak me to nereaguje na zmenu sirky okna vuci ostatnim elementum v prohlizeci. Potreboval bych nejak ukotvit ty polozky menu aby nebyli zavisli na sirce toho podmenu, ale nemuzu to udelat pomoci absolutni pozice a nic jinyho me nenapada. Asi se na to vyprdnu a podmenu proste nebude.

 
Nahoru Odpovědět 22.9.2014 18:08
Avatar
k.ats
Člen
Avatar
k.ats:

Nakonec jsem tomu nastavil absolutni pozici bez zadnych parametru, tudiz mi ted nic neodskakuje, ale je to podmenu na muj vkus moc vpravo a do leva to buhuzel neposunu, viz. http://supastav.tode.cz/

Zitra zacnu delat asi uz neco jineho a rozmyslim se, jestli to tam necham ci nikoliv.

// tak jsem jeste zkusil posunout div, kterej tam mam kvuli pozadi s relativni pozici a s nim to jakz takz funguje jak ma :-) No sakris teda. Takova blbost a da to zabrat celej den.

Editováno 22.9.2014 18:55
 
Nahoru Odpovědět 22.9.2014 18:51
Avatar
k.ats
Člen
Avatar
k.ats:

Nakonec jsem to menu udelal uplne jinak - pomoci css opacity a transform. Jen si nejsem jisty jestli je

transform(9999px)

dobre :-) Ale jinak a lepe me to bohuzel nenapadlo.

 
Nahoru Odpovědět 23.9.2014 11:49
Avatar
k.ats
Člen
Avatar
k.ats:
transform:translate(9999px)

jsem samozrejme chtel napsat.

 
Nahoru Odpovědět 23.9.2014 11:57
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na k.ats
Honza Bittner:

Nevím proč tam používáš translate?
Jde to udělat úplně jednoduše. Nejdříve si musíš vytvořit správně seznam.

<ul>
  <li><a href="">Úvod</a></li>
  <li><a href="">Fotogalerie</a>
    <ul> <!-- 2. úroveň -->
      <li><a href="">Subpoložka 1</a></li>
      <li><a href="">Subpoložka 2</a></li>
      <li><a href="">Subpoložka 3</a></li>
      <li><a href="">Subpoložka 4</a></li>
    </ul>
  </li>
  <li><a href="">Kontakt</a></li>
</ul>

Nastyluj si nějak 1. úroveň.

Poté si 2. úroveň (tedy to druhé - vnořené - ul) nastavíš na absolutní pozici. Zde také nepoužívej třídy jako .submenu a podobné nesmysly, ale využij třeba selektoru "nav ul ul"... :) Zbytek si už můžeš nastylovat podle sebe... :)

Teď ještě tu logiku zobrazování:
2. úroveň menu bude mít display: none; a ty musíš nastavit display block při hoveru na a.

Tedy

nav ul ul{ display: none }
nav ul a:hover + ul{ display: block }

//doufám, že jsi to z tohoto pochopil a že to půjde, píšu to v rychlosti ve škole :P

// // mimochodem by jsi neměl používat copyright cílený na tebe, když to není vše tvá práce... :P

Editováno 23.9.2014 14:51
Nahoru Odpovědět  +1 23.9.2014 14:51
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
k.ats
Člen
Avatar
Odpovídá na Honza Bittner
k.ats:

Diky za prispevek. Translate tam pouzivam z duvodu odstraneni submenu pri opacity 0. Jinak se to v tom miste pri najeti mysi zobrazi i kdyz nema. Prvne jsem pouzival dispay, ale u toho se neda pouzit transition, proto jsem to volil takhle. Dokonce jsem mel puvodne i polozky (li) v submenu, ale protoze mam tu hlavicku celkem splacanou a pruhledne pozadi, neslo mi to ostylovat aby se pozadi nekde neprekryvalo (nechybelo). Tohle mi zatim funguje nejlepe, ale zkusim to jeste predelat. S tim copyrightem mas castecne pravdu, ale vicemene jsem pouzil zatim jen vypln clanku, ktere budu cele predelavat. Jinak ano, pouzil jsem stejne stylovani fontu a nadpisu, uznavam. Zbytek jsem pak delal dle sebe. Doufam, ze jsem te ve skole nijak nevyrusil a neutekla ti nejaka dulezita prednaska :) Ja jsem zase ve vlaku a jedu domu. Dnes uz to asi nestihnu, ale zitra zkusim jeste predelat nebo zrusit to menu.

 
Nahoru Odpovědět 23.9.2014 15:10
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na k.ats
Honza Bittner:

Na střední škole moc užitečných informací nepochytíš ... :D

Mimochodem, tvé řešení v prohlížečích nepodporujících CSS3 nefunguje... Takže se zobrazuje aj při hoveru na "jakoby" místo menu a zobrazí se...

Pokud chceš mít zobrazování plynulé a u display to nefunguje, stačí k mému řešení přidat ještě opacity - tedy budeš mít něco kód níže...
A bude ti to fungovat ve všech prohlížečích. :) (maximálně kromě toho přechodu, ale to se dá přežít)

nav ul ul{ display: none; opacity: 0; +přechod }
nav ul a:hover + ul{ display: block; opacity: 1; }
Nahoru Odpovědět  +1 23.9.2014 16:51
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
k.ats
Člen
Avatar
Odpovídá na Honza Bittner
k.ats:

Díky, vyzkouším to tedy ještě jednou tak jak píšeš. Zkusím si ještě pohrát trochu s tím stylováním hlavičky, případně zruším průhledné pozadí nebo vypustím to submenu. Ještě se půjdu dnes domluvit za švagrem jak to bude s tou fotogqlerií, jestli to budeme dělit nebo jak to uděláme. Ale myslím, že by to bylo lepší s dělením. S těmi prolížeči co nepodporují css3 mě to ani nenapadlo, takže to momentální řešení s posunem nebude moci být a musím to udělat pomocí stylu display.
Jen taková technická. Když zruším uprostřed položek li plovoucí obsah, zalomí se seznam např. na 2 sloupečky nebo se to bude muset řešit dvěmi seznamy? Nebo mě ještě napadá nastavit nějakou pevnou šířku aby se to zalomilo samo. No až se s tím zítra budu "trápit" tak něco vyzkouším :-)
Myslel jsem, že už jsi na vysoké a střední máš už za sebou, aspoň podle znalostí :-) Na profil a tvůj věk jsem nekoukal :-)

 
Nahoru Odpovědět  +1 23.9.2014 17:13
Avatar
k.ats
Člen
Avatar
k.ats:

Menu je předěláno a uděláno jinak. Nepoužil jsem ale vlastnost display, ale visibility, protože při použití vlastnosti display nefungují vůbec přechody ani na to opacity. Vím že by byla lepší vlastnost display (css1) než visibility (css2), ale snad už dnes je css2 všude. Jediné čeho se mi nepovedlo docílit, aby při zmenšení šířky okna (tímpádem i submenu) položky v submenu vycentrovaly. Je to takové nesymetrické. Většinou ale bude šířka okna dostatečná a nebude to tedy vidět. Je čas přesunout se k jiné části webu. Pokud by měl ještě někdo nějakou připomínku nebo nápad jak to udělat lépe, případně správněji, budu rád za reakce a nějaké nakopnutí. Děkuji všem :-)

 
Nahoru Odpovědět 24.9.2014 15:40
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.