Autor Zpráva
IIwetKKa
Profil *
Dobrý den, mám problém s vyjíždejícím horizontálním hover menu.

CSS struktura

 
  #menu-box {background: silver; repeat-x 0 0;}
  #menu {width: 960px; margin: 0 auto;}

 #menu li {
  float: left;
   display: inline;
   list-style-type: none;
   text-align: center;
}

 #menu li a {
  text-decoration: none;
   color: white;
   float: left;
   display: inline;
   line-height: 35px;
   padding: 0 18px;
}

#menu ul ul {visibility: hidden;}
        
 #menu ul li:hover ul{visibility: visible;}

 #menu li a:hover, #menu li a.active {color: black;}

 /* Clearfix */
 .clearfix:after {
   display: block;
   clear: both;
   visibility: hidden;
   height: 0;
   font-size: 0;
   content: ' ';
 }

 .clearfix {min-height: 1px;}
 .clearfix {display: inline-block;}

 /* Backslash hack - nemel by to videt IE/Mac \*/
 .clearfix {display: block;}
 /* Konec hacku */

Takhle vypadá má CSS definice.

<div id="menu-box"> 
 <ul id="menu" class="clearfix">
   <li class="first"><a class="active" href="/">Úvod</a>
    <ul>
      <li><a href="#">aaaa</a></li>
    </ul>
    </li>
   <li><a href="#">Autoři</a></li>
   <li><a href="#">Články</a></li>
   <li><a href="#">Fotografie</a></li>
   <li><a href="#">Kontakt</a></li>
 </ul>
 </div>

A takhle HTML.

Chtěla bych, aby když přejedu myší přes jednu položku v menu, aby se mi zobrazili další, ale stále mi to nějak nefunguje. Koukala jsem již i po netu a bohužel bez rady. Co tedy dělám špatně?

Děkuji za radu.
jenikkozak
Profil
Zápis #menu ul ul {visibility: hidden;} se vztahuje na všechny seznamy, které jsou součástí seznamu, jenž je uvnitř prvku s id menu. Schématicky pro něco takovéhoto: <neco id="menu"><ul><li><ul>, zatímco tvůj zápis je <ul id="menu"><li><ul>. Stejný problém máš i u následujícího zápisu: #menu ul li:hover ul{visibility: visible;}. Jednoduše ten první seznam z těchto zápisů odstraň.
IIwetKKa
Profil *
Skvělé!! :)

A teď ještě, jak docílím toho, aby se mi ten druhý seznam, který se vysunuje, vysunoval dolu? Teď se vysunuje vpravo, což znamená, že je mezi prvními položkami prázdné místo a až když přejedu přes položku, zobrazí se mi v tom volném místě ten druhý seznam.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: