Foros del Web » Creando para Internet » CSS »

menu css que se adapte a cualquier resolucion

Estas en el tema de menu css que se adapte a cualquier resolucion en el foro de CSS en Foros del Web. hola. hice un menu superior css. dentro del menu he creado un div cabecera_menu. esto es lo que hice. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código CSS: Ver original ...
  #1 (permalink)  
Antiguo 22/02/2012, 15:28
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Pregunta menu css que se adapte a cualquier resolucion

hola. hice un menu superior css. dentro del menu he creado un div cabecera_menu. esto es lo que hice.

Código CSS:
Ver original
  1. #cabecera_menu{
  2.     position:relative;
  3.     left:230px;
  4.     height:33px;
  5.     float:left;
  6. }

al probarlo en una resolucion menor de 1024 x 968, el menu se desplazo hacia abajo y no se mantuvo en la posicion donde estaba.

mi pregunta es que tipo de posicion se coloca para que se adapte en cualquier resolucion de pantalla ?. me comentaron que no se debe utilizar pixeles (px), sino porcentajes (%). no se si estoy en lo correcto.

saludos.
  #2 (permalink)  
Antiguo 22/02/2012, 17:29
 
Fecha de Ingreso: febrero-2012
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 14
Respuesta: menu css que se adapte a cualquier resolucion

Puedes poner el html?
  #3 (permalink)  
Antiguo 22/02/2012, 17:49
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: menu css que se adapte a cualquier resolucion

Evidentemente el diseño líquido; uso de %, es mejor que el diseño fijo; px.
Si haces la página así mejor que mejor. Útil para webs desde móviles y otros dispositivos.

Pero tenerlo en px no te debería descolocar el menú al cambiar la resolución.
La diferencia sería la aparición de scrollbars.

¿Podrías poner la estructura de los otros elementos que contienen el menú así como el html? Lo básico para ver que ocurre.
Es posible que se deba a un div con un ancho auto u otra propiedad que reajuste el div.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #4 (permalink)  
Antiguo 22/02/2012, 19:55
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: menu css que se adapte a cualquier resolucion

aqui dejo el codigo html y css.

Código HTML:
Ver original
  1. <div id="cabecera_menu">
  2.  
  3.     <div id="menu_navegacion">
  4.         <div id="iconos">
  5.             <img src="imagenes/iconos.jpg" width="79" height="15" border="0" usemap="#Map">
  6.             <map name="Map">
  7.                 <area shape="rect" coords="59,2,77,13" href="#" alt="email" title="email">
  8.                 <area shape="rect" coords="30,2,49,13" href="#" alt="mapa del sitio" title="mapa del sitio">
  9.                 <area shape="rect" coords="2,2,15,14" href="#" alt="Home" title="Home">
  10.             </map>            
  11.         </div>
  12.      </div>
  13.      
  14.      <div id="menu_links">
  15.       <ul>
  16.             <li><a href="#">Inicio</a></li>
  17.             <li><a href="#">Contacto</a></li>
  18.             <li><a href="#">A Favoritos</a></li>
  19.             <li><a href="#">Recomendar</a></li>                                                
  20.         </ul>
  21.      </div>
  22.  
  23.     <div id="buscador">
  24.        <form name="form1" method="post" action="">
  25.        Buscar  
  26.          <input type="text" name="buscar" id="buscar" class="objetoformulario">
  27.        </form>
  28.     </div>
  29.    
  30.  </div>

Código CSS:
Ver original
  1. #cabecera_menu{
  2.     position:relative;
  3.     left:230px;
  4.     height:33px;
  5.     float:left;
  6. }
  7.  
  8. #buscador{
  9.     float:left;
  10.     margin:30px 0 0 36px;  
  11. }
  12.  
  13. #iconos{
  14.     position:relative;
  15.     float:left;
  16.     width:90px;
  17. }
  18.  
  19. #menu_navegacion{
  20.     position:relative;
  21.     float:left;
  22.     top:34px;
  23.     height:22px;
  24. }
  25.  
  26. #menu_links{
  27.     height:22px;
  28.     float:left;
  29.     margin:34px 0 0 0;
  30. }
  31.  
  32. #menu_links ul{
  33.     margin:0;
  34.     padding:0;
  35.     list-style:none;
  36. }
  37.  
  38. #menu_links li{
  39.     padding:4px 8px 0 8px;
  40.     border-right:1px solid #5e5e5e;
  41.     display:inline;
  42. }
  43.  
  44. #menu_links li a{
  45.     font-family:Verdana, Geneva, sans-serif;
  46.     font-size:11px;
  47.     color:#5e5e5e;
  48.     text-decoration:none;
  49. }
  50.  
  51. #menu_links li a:hover{
  52.     color:#5e5e5e;
  53.     text-decoration:underline;
  54. }

saludos.
  #5 (permalink)  
Antiguo 23/02/2012, 02:02
 
Fecha de Ingreso: febrero-2012
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 14
Respuesta: menu css que se adapte a cualquier resolucion

Hola.
En principio falta un <header> al principio del HTML.

Debes tener en cuenta que si das un margen de 230px por la izquierda esta hace que se mantenga ese margen siempre, obviamente el menú se colapsa al no caber en la pantalla, debes decidir si el menú y toda la página va centrada o alineada a la izquierda.

En cualquier caso, no se muy bien si lo que pretendes es que todo el menú se encoja al hacer la ventana más pequeña o que la distancia entre los ítems de menú se acorte.

PD: No entiendo los position:relative;
  #6 (permalink)  
Antiguo 23/02/2012, 08:47
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: menu css que se adapte a cualquier resolucion

gracias por responderme joseoliveras. por equivocacion, he copiado mal el codigo. aqui dejo el codigo correcto.

Código HTML:
Ver original
  1. <div id="cabecera_menu">
  2.   <div id="menu_navegacion">
  3.     <div id="iconos"> <img src="imagenes/iconos.jpg" width="79" height="15" border="0" usemap="#Map">
  4.       <map name="Map">
  5.         <area shape="rect" coords="59,2,77,13" href="#" alt="email" title="email">
  6.         <area shape="rect" coords="30,2,49,13" href="#" alt="mapa del sitio" title="mapa del sitio">
  7.         <area shape="rect" coords="2,2,15,14" href="#" alt="Home" title="Home">
  8.       </map>
  9.     </div>
  10.   </div>
  11.   <div id="menu_links">
  12.     <ul>
  13.       <li><a href="#">Inicio</a></li>
  14.       <li><a href="#">Contacto</a></li>
  15.       <li><a href="#">A Favoritos</a></li>
  16.       <li><a href="#">Recomendar</a></li>
  17.     </ul>
  18.   </div>
  19.   <div id="buscador">
  20.     <form name="form1" method="post" action="">
  21.       Buscar
  22.       <input type="text" name="buscar" id="buscar" class="objetoformulario">
  23.     </form>
  24.   </div>
  25. </div>

Código TEXT:
Ver original
  1. Debes tener en cuenta que si das un margen de 230px por la izquierda esta hace que se mantenga ese margen siempre, obviamente el menú se colapsa al no caber en la pantalla, debes decidir si el menú y toda la página va centrada o alineada a la izquierda.

el menu superior debe ir alineado a la izquierda. lo que en verdad pretendo es que el menu superior tanto los items y el formulario buscador se mantenga en la misma posicion. puse la propiedad relative para que se mantenga el div cabecera_menu, no importando la resolucion de pantalla.

no se si estoy en lo correcto colocar la propiedad posicion:relative. aqui dejo nuevamente el codigo css del menu superior.

Código CSS:
Ver original
  1. #cabecera_menu{
  2.  position:relative;
  3.  left:230px;
  4.  height:33px;
  5.  float:left;
  6. }
  7.  
  8. #buscador{
  9.  float:left;
  10.  margin:30px 0 0 36px;
  11. }
  12.  
  13. #iconos{
  14.  position:relative;
  15.  float:left;
  16.  width:90px;
  17. }
  18.  
  19. #menu_navegacion{
  20.  position:relative;
  21.  float:left;
  22.  top:34px;
  23.  height:22px;
  24. }
  25.  
  26. #menu_links{
  27.  height:22px;
  28.  float:left;
  29.  margin:34px 0 0 0;
  30. }
  31.  
  32. #menu_links ul{
  33.  margin:0;
  34.  padding:0;
  35.  list-style:none;
  36. }
  37.  
  38. #menu_links li{
  39.  padding:4px 8px 0 8px;
  40.  border-right:1px solid #5e5e5e;
  41.  display:inline;
  42. }
  43.  
  44. #menu_links li a{
  45.  font-family:Verdana, Geneva, sans-serif;
  46.  font-size:11px;
  47.  color:#5e5e5e;
  48.  text-decoration:none;
  49. }
  50.  
  51. #menu_links li a:hover{
  52.  color:#5e5e5e;
  53.  text-decoration:underline;
  54. }

saludos.

Última edición por esaenz22; 23/02/2012 a las 08:54 Razón: correccion del texto.
  #7 (permalink)  
Antiguo 23/02/2012, 16:58
 
Fecha de Ingreso: febrero-2012
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 14
Respuesta: menu css que se adapte a cualquier resolucion

Sigo sin saber si quieres que el menú se haga más pequeño al reducir la pantalla (se solventa con media query) o pretendes que permanezca "en linea" forzando la barra de scroll.
  #8 (permalink)  
Antiguo 24/02/2012, 08:34
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: menu css que se adapte a cualquier resolucion

que el menu superior permanezca en linea.

saludos.
  #9 (permalink)  
Antiguo 27/02/2012, 02:06
 
Fecha de Ingreso: febrero-2012
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 14
Respuesta: menu css que se adapte a cualquier resolucion

Si quieres que el menú se mantenga debes darle un ancho al contenedor del menú, de manera que cuando la ventana se haga más pequeña aparezcan las barras de scroll del navegador.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:40.