Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2011, 13:44
XtremeBook
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
persistencia para que no se cierre menu desplegable al seleccionar un input text

hola amigos tengo un menu desplegable que se despliega al hacer click y se mantiene abierto hasta clickear fuera de el. el problema es que cuando introduzco un input text dentro de ese menu desplegable al intentar seleccionar el input para escribir algo dentro de el se me cierra y no tengo idea de por que!

aqui un poco de codigo CSS

Código CSS:
Ver original
  1. body{
  2.   margin:0;
  3.   padding:<length> 0 0 0;
  4.   background:#F0F0F0;
  5.  }
  6.  
  7.  @media screen{
  8.   body>div#top-bar-bg{
  9.    position: fixed;
  10.   }
  11.  }
  12.  * html body{
  13.   overflow:hidden;
  14.  }
  15.  * html div#contentfoot{
  16.   height:100%;
  17.   overflow:auto;
  18.   }
  19. #top-bar-bg{
  20.         position: absolute;
  21.         display:inline-block;
  22.         margin-top: 0px;
  23.         margin-left: 0px;
  24.         margin-right: 0px;
  25.         background-color:#96CE42;
  26.         height: 40px;
  27.         width: 100%;
  28.         box-shadow: 2px 2px 5px #999;
  29.         z-index:50;
  30.        
  31.            
  32. }
  33.  
  34.  
  35.  
  36. #top-bar-menu{
  37.         position: relative;
  38.         margin: 0 auto 0 auto;
  39.         width: 1000px;
  40.         height: 40px;
  41.                    
  42. }
  43.  
  44.  
  45. #down-arrow{
  46.         position: relative;
  47.         float:right;
  48.         margin-top: 8px;
  49.         margin-right:-10px;
  50.         width:7px;
  51.         height:4px;
  52.         background-image:url(../../images/top-bar/down-arrow.gif);
  53.        
  54.        
  55.  
  56. }
  57.  
  58. #menu-wrapper ul{
  59.         padding:0;
  60.         list-style:none;   
  61.         margin-top:0px;
  62.         float:right;
  63.         overflow:auto;
  64.         margin-right:10px;
  65.        
  66.        
  67.        
  68. }
  69.  
  70. #hmenu > li{
  71.         display:inline-block;
  72.         font-family:Myriad pro,Verdana, Geneva, sans-serif;
  73.         text-align:center;
  74.         height:40px;   
  75.         padding-left:5px;
  76.         padding-right:5px;
  77.         cursor:pointer;
  78.         overflow:auto;
  79.        
  80.        
  81.        
  82.        
  83.        
  84.        
  85.  
  86. }
  87.  
  88. #hmenu > li:hover{
  89.         background-color:#AAEA71;  
  90.        
  91.     }
  92.    
  93. #hmenu > li:active{
  94.         background-color:#AAEA71;  
  95.    
  96.     }
  97.    
  98.     #hmenu > li:focus{
  99.         background-color:#AAEA71;  
  100.    
  101.     }
  102.  
  103.  
  104. #hmenu > li > a{
  105.         display:block; 
  106.         padding: 10px 5px;
  107.         padding-left:5px;
  108.         padding-right:5px;
  109.         width: auto;
  110.         text-decoration:none;
  111.         color:#FFF;
  112.         font-size:15px;
  113.        
  114.  
  115.        
  116. }
  117.  
  118. li ul{
  119.         position:absolute;
  120.         display:none;  
  121.            
  122.            
  123. }
  124.  
  125. .sub-menu a{
  126.         display:block;
  127.         visibility:visible;
  128.         padding:9px 5px;
  129.         width:130px;
  130.         color:#FFF;
  131.         text-decoration:none;
  132.         text-align:left;
  133.         padding-left:10px;
  134.         font-size:15px;
  135.         margin-right:0px;          
  136. }
  137.  
  138. #sub-menu{
  139.         border-radius:5px;
  140.         background-color:#E9E9E9;
  141.         border:2px solid #999;
  142.         height:20px;
  143. }
  144.  
  145. #sub-menu:hover{
  146.         background-color:#FFF;
  147.        
  148. }
  149.  
  150. #sub-menu:focus{
  151.         border-radius:5px;
  152.         border:2px solid #F90;
  153.         background-color:#FFF;
  154.        
  155. }
  156.  
  157. .sub-menu{
  158.  
  159.         margin-left:-5px;
  160.         -moz-border-radius-bottomright: 10px;
  161.         -moz-border-radius-bottomleft: 10px; /* Firefox*/
  162.         -webkit-border-bottom-right-radius: 10px;
  163.         -webkit-border-bottom-left-radius: 10px;
  164.         border-bottom-right-radius: 10px;
  165.         border-bottom-left-radius: 10px;   
  166.         z-index:100;   
  167.        
  168.        
  169.            
  170. }
  171. .sub-menu a:hover{
  172.    
  173.         background-color:#96CE42;      
  174.         border-bottom-right-radius: 10px;
  175.         border-bottom-left-radius: 10px;
  176.         z-index:100;
  177.        
  178. }
  179.  
  180.  
  181.  
  182.  
  183. #menu-wrapper li ul{
  184.         background-color:#AAEA71;
  185.         padding-left: 10px;
  186.         padding-right: 10px;
  187.        
  188.        
  189.        
  190.        
  191.                        
  192. }
  193.  
  194. #menu-wrapper ul li:focus ul, #menu-wrapper ul li:active ul  {
  195.         background-color:#AAEA71;
  196.         display: block;
  197.        
  198.                        
  199. }

asi es el menu en HTML en donde vean el input text es ahi el lugar donde es el problema son dos inputs los unicos y el boton de envio


Código HTML:
Ver original
  1. <div id="top-bar-bg">
  2.  <div id="contentfoot">
  3.  <div id="top-bar-menu">
  4.  
  5.    
  6.     <div id="menu-wrapper-log">
  7.  
  8.         <ul id="hmenu-log">
  9.           <li>
  10.             <a href="#">&nbsp;<div id="down-arrow-log"></div>
  11.          
  12.     </a>
  13.    <ul class="sub-menu-log">
  14.            
  15.                     <li><a href="index.php">Inicio</a></li>
  16.                      <li><a href="acercade.php">Acerca de</a></li>
  17.                     <li><a target="_blank" href="http://twitter.com/sprogramadores">Twitter</a></li>
  18.                     <li><a target="_blank" href="http://www.facebook.com/somosprogramadores">Facebook</a></li>
  19.                     <li><a target="_blank" href="http://www.youtube.com/somosprogramadores">Youtube</a></li>
  20.                    
  21.                     </ul>
  22.                 </li>
  23.                 </ul>
  24.                 </div>
  25.        
  26.     <div id="menu-wrapper">
  27.  
  28.         <ul id="hmenu">
  29.  
  30.           <li tabindex="1"><a>Inicia&nbsp;Sesión<div id="down-arrow"></div>
  31.           </a>
  32.          
  33.                 <ul class="sub-menu">
  34.                 <br />
  35.             <input id="sub-menu" type="text" name="username" /><br /><br />
  36.             <input id="sub-menu" type="password" name="username" /><br /><br />
  37.            
  38.             <input type="submit" value="Ingresar" />
  39.                    
  40.                     </ul>
  41.                 </li>
  42.        
  43.           <li tabindex="2"><a>¡Regístrate!<div id="down-arrow">
  44.              </div>
  45.           </a>
  46.              
  47.              
  48.                 <ul class="sub-menu">
  49.            
  50.                     <li><a href="#">prueba!</a></li>
  51.                     <li><a href="#">probandito</a></li>
  52.                    
  53.                     </ul>
  54.                 </li>
  55.                
  56.                
  57.                 <li><a>Videotutoriales</a></li>
  58.        
  59.                 <li><a>Artículos</a></li>
  60.        
  61.                 <li><a>Noticias</a></li>
  62.        
  63.                 <li><a>Inicio</a></li>
  64. </ul>
  65. </div>
  66. </div></div></div>
  67. </div>