Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Menu Horizontal distribuir mismo tamaño

Estas en el tema de Menu Horizontal distribuir mismo tamaño en el foro de CSS en Foros del Web. Hola, quiero realizar un menú similar al de arriba, lo copie de websitebuilder, me es difícil descargar el código, lo que deseo es que ayuden ...
  #1 (permalink)  
Antiguo 01/07/2015, 14:01
Avatar de eric_ballon  
Fecha de Ingreso: julio-2015
Mensajes: 8
Antigüedad: 8 años, 9 meses
Puntos: 0
Menu Horizontal distribuir mismo tamaño




Hola, quiero realizar un menú similar al de arriba, lo copie de websitebuilder, me es difícil descargar el código, lo que deseo es que ayuden con la propiedades para hacer que cada item tenga el mismo ancho, y que en el hover se muestre el border, lo hice lo del borde, pero se mueven los item de alado con la propiedad padding.
Gracias por su ayuda.
  #2 (permalink)  
Antiguo 01/07/2015, 19:46
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 4 meses
Puntos: 208
Respuesta: Menu Horizontal distribuir mismo tamaño

Para que tengan el mismo ancho tenes que asignar ese width a los elementos <li>.

Lo del hover, si indicas que al pasar el cursor por encima se le aplique un borde de 2px, es normal que los demás elementos se muevan, la solución es aplicarle un borde transparente en su estado normal..

Te dejo un ejemplo:

Código HTML:
Ver original
  1. <nav>
  2.   <ul>
  3.     <li><a href="#">Inicio</a></li>
  4.     <li><a href="#">Nosotros</a></li>
  5.     <li><a href="#">Servicios</a></li>
  6.     <li><a href="#">Productos</a></li>
  7.     <li><a href="#">Tienda</a></li>
  8.     <li><a href="#">Contacto</a></li>
  9.   </ul>
  10. </nav>

Código CSS:
Ver original
  1. nav{
  2.     background-color:#1c4781;
  3.     width:1000px;
  4.     margin:0 auto;
  5.     text-align:center;
  6.     padding:2em;
  7. }
  8.  
  9. nav ul{
  10.     list-style:none;
  11. }
  12.  
  13. nav ul li{
  14.     display:inline-block;
  15.     width:100px;
  16.     padding:.5em 0;
  17.     margin:.5em;
  18. }
  19.  
  20. nav ul li a{
  21.     color:#fff;
  22.     font-family: Trebuchet Ms;
  23.     text-decoration:none;
  24.     border:2px solid transparent;
  25.     display:block;
  26.     padding:.5em;
  27. }
  28.  
  29. nav ul li a:hover{
  30.     border:2px solid #fff;
  31. }

http://codepen.io/fede5426/pen/VLQWjO

Saludos
  #3 (permalink)  
Antiguo 02/07/2015, 11:43
Avatar de eric_ballon  
Fecha de Ingreso: julio-2015
Mensajes: 8
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Menu Horizontal distribuir mismo tamaño

Hola, muchas gracias por tu respuesta, el ejemplo es exacto.
Una consulta, para que el item de mantenga con borde blanco cuando la pagina esta selecionado, que propiedad necesito añadir.

  #4 (permalink)  
Antiguo 02/07/2015, 12:31
Avatar de fede5426  
Fecha de Ingreso: diciembre-2014
Ubicación: Córdoba
Mensajes: 446
Antigüedad: 9 años, 4 meses
Puntos: 208
Respuesta: Menu Horizontal distribuir mismo tamaño

Antes que nada tenes que crear una clase que tenga los estilos que quieras que tenga el elemento activo.. por ejemplo:

Código CSS:
Ver original
  1. .activo {
  2.    border: 2px solid #fff;
  3. }

Ahora, hay 2 formas posibles de aplicarlo y depende de como empleas el menú:

1° Si tenes el código del menú en cada archivo del sitio, basta con colocarle la clase .activo al elemento <a> que corresponda a dicha seccion del sitio.. es decir si estás en la página "contacto" le aplicas la clase .activo al <a href="contacto.html">Contacto</a> y asi sucesivamente con todos los archivos..

2° Si cargas el contenido dinamicamente en el sitio, podés usar javascript para aplicar esa clase al elemento que clickeas:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     $("a").click(function(){ //al hacer click en un enlace
  4.        
  5.         $("a").removeClass("activo"); //le quitamos la clase activo a todos los enlaces
  6.         $(this).addClass("activo") //y le agregamos la clase activo al item que clickeamos
  7.        
  8.     });
  9.    
  10. });

Saludos
  #5 (permalink)  
Antiguo 09/07/2015, 09:07
Avatar de eric_ballon  
Fecha de Ingreso: julio-2015
Mensajes: 8
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Menu Horizontal distribuir mismo tamaño



Hola Fede, muchas gracias por tu ayuda, estuve trabajando en el diseño de esta web que me copie del website builder.

En conclusión lo quiero hacer en la header es lo siguiente:
1. que su background-color: #1c44781 y width: auto; height: auto;
2. Un div id=container-header, es el contenedor del div id= "Logo" y id="Menu", y este div este centrado margin: 0 auto; background-color: tranparent.
3. el div Logo contiene texto.
4. el div Menu contenga el menú dropdown

El problema. que cuando ingreso el menu dropdown en el div div id=container-header se tira mas a la derecha con en la imagen.
Y que no se note el borde entre blanco alrededor del header.
Abajo es la direccion el codepen.
Muchas Gracias.

http://codepen.io/EricBallon/pen/RPyoRL

Cita:
Iniciado por fede5426 Ver Mensaje
Antes que nada tenes que crear una clase que tenga los estilos que quieras que tenga el elemento activo.. por ejemplo:

Código CSS:
Ver original
  1. .activo {
  2.    border: 2px solid #fff;
  3. }

Ahora, hay 2 formas posibles de aplicarlo y depende de como empleas el menú:

1° Si tenes el código del menú en cada archivo del sitio, basta con colocarle la clase .activo al elemento <a> que corresponda a dicha seccion del sitio.. es decir si estás en la página "contacto" le aplicas la clase .activo al <a href="contacto.html">Contacto</a> y asi sucesivamente con todos los archivos..

2° Si cargas el contenido dinamicamente en el sitio, podés usar javascript para aplicar esa clase al elemento que clickeas:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     $("a").click(function(){ //al hacer click en un enlace
  4.        
  5.         $("a").removeClass("activo"); //le quitamos la clase activo a todos los enlaces
  6.         $(this).addClass("activo") //y le agregamos la clase activo al item que clickeamos
  7.        
  8.     });
  9.    
  10. });

Saludos
  #6 (permalink)  
Antiguo 09/07/2015, 11:23
 
Fecha de Ingreso: julio-2014
Mensajes: 179
Antigüedad: 9 años, 9 meses
Puntos: 26
Respuesta: Menu Horizontal distribuir mismo tamaño

Tienes varias cosas amigo:
1.- YA NO SE USA <CENTER>
2.- Tu id container-header es mas chico según tu tiene 880px de ancho pero tu id logo mide 180px + 790px de tu id menu y bueno sumale los 8 pixeles de borde de ambos cuadros pos ya no salieron las cuentas estos dos juntos rebasan el ancho de tu caja contenedora.
3.- Por que usar UL y LI en tu menú? alguna vez yo lo use jaja pero no tiene sentido usarlos!! de hecho estos te dan resultados inesperados en tus enlaces, estos se recorren a la derecha un poco.
4.- El codigo que subiste esta hecho muy mal amigo.

Aquí te dejo como lo ordené:
http://codepen.io/anon/pen/zGjNdP

En cuanto a tu siguiente paso que es el dropdown puedes acomodarlo dentro de Menu con css tal vez te funcione ese codigo que te pasaron todo depende como lo pienses tu, aun que va a estar muy complicado copiando y pegando código.

Saludos!
__________________
Si haces las cosas como nadie las ha hecho, cobralas bien, si las vas a hacer como todos las han hecho, cobralas bien!!
MecanizandoWeb.com
  #7 (permalink)  
Antiguo 11/07/2015, 05:28
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Menu Horizontal distribuir mismo tamaño

Si quieres ahorrarte tanto cálculo, lo que puedes hacer es usar en tu lista de enlaces display: table, display: table-cell y table-layout: fixed.

Cita:
Iniciado por DesgraciadoGabo Ver Mensaje
3.- Por que usar UL y LI en tu menú? alguna vez yo lo use jaja pero no tiene sentido usarlos!! de hecho estos te dan resultados inesperados en tus enlaces, estos se recorren a la derecha un poco.
Deja de decir burradas hombre.
__________________
(:
  #8 (permalink)  
Antiguo 11/07/2015, 07:55
 
Fecha de Ingreso: julio-2014
Mensajes: 179
Antigüedad: 9 años, 9 meses
Puntos: 26
Respuesta: Menu Horizontal distribuir mismo tamaño

pzin disculpa amigo jajaja pero en su código tiene (http://codepen.io/EricBallon/pen/RPyoRL)

Código CSS:
Ver original
  1. nav ul{
  2.   list-style:none;
  3. }

En todo caso le hace falta agregar margin y padding en 0 por eso es que digo que se "recorre a la derecha" jaja disculpa no quiero confundir a nadie saludos!!!
__________________
Si haces las cosas como nadie las ha hecho, cobralas bien, si las vas a hacer como todos las han hecho, cobralas bien!!
MecanizandoWeb.com

Etiquetas: horizontal, tamaño
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 10:12.