Stránka 1 z 1

CSS - Hover menu se nevysouvá  Vyřešeno

Napsal: 23 led 2013 09:44
od IIwetKKa
Dobrý den, mám problém s vyjíždejícím horizontálním hover menu.

CSS struktura

Kód: Vybrat vše

  #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.

Kód: Vybrat vše

<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.

Re: CSS - Hover menu se nevysouvá

Napsal: 23 led 2013 19:42
od CZechBoY
sice nechápu k čemu to menu je, ale překáží ti tam ul u #menu ul

Kód: Vybrat vše

#menu li ul {visibility: hidden;}

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

Re: CSS - Hover menu se nevysouvá

Napsal: 24 led 2013 10:46
od IIwetKKa
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.

Re: CSS - Hover menu se nevysouvá

Napsal: 24 led 2013 13:44
od CZechBoY
nějak takhle: http://www.testing.jabko.net/menu/ ?
akorát se mi tam nelíbí ten position: absolute, no hold budeš muset při změně velikosti toho 1. menu měnit i posunutí toho vysouvání no :(

hlavní problém byl v tom, že nepoužíváš selector přímýho potomka, ale jakýhokoliv, pak se i těm podmenu nastavil float:left
pro jednoznačnost jsem tam dal ty selectory na přímýho potomka všude :-)

kod css

Kód: Vybrat vše

#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;
   line-height: 35px;
   padding: 0 18px;
}

#menu > li > ul {
   background: gold;
   position: absolute;
   top: 43px;
}
#menu > li > ul > li {
   list-style-type: none;
}
#menu > li > ul > li > a {
   color: brown;
   text-decoration: none;
}
#menu > li >ul > li:hover > a {
   color: dodgerblue;
}

#menu > li > ul {visibility: hidden;}

#menu > 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 */

Re: CSS - Hover menu se nevysouvá

Napsal: 24 led 2013 14:21
od IIwetKKa
Paráda. :) Díky. :)