Foros del Web » Creando para Internet » CSS »

Fallo en menu

Estas en el tema de Fallo en menu en el foro de CSS en Foros del Web. Buenas, alguien sabe porque al hacer la transiccion al pasar sobre cada pestaña del menu se me descoloca y baja? Os dejos el codigo: @import ...
  #1 (permalink)  
Antiguo 27/11/2012, 03:48
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Fallo en menu

Buenas, alguien sabe porque al hacer la transiccion al pasar sobre cada pestaña del menu se me descoloca y baja?

Os dejos el codigo:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title>
  6.             Menu
  7.         </title>
  8.         <style type="text/css">
  9. nav {
  10.         margin-top: 50px;
  11.         box-shadow: inset 0 5px 18px rgba(0, 0, 0, 0.6);
  12.         float: left;
  13.         width: 100%;
  14.         height:200px;
  15.         background: rgba(0, 0, 0, 0.05);
  16.         margin: auto;
  17.         text-align: center;
  18.         }
  19.  
  20.         nav ul {
  21.         list-style: none;
  22.         }
  23.  
  24.         nav ul #menu{
  25.         border-top: 1px solid #ff8c00;
  26.         margin-left: 10em;
  27.         margin-right: 10em;
  28.         padding: 0;
  29.         width: 700px;
  30.         box-shadow: inset 0 10px 18px -13px #ff8c00;
  31.         border-top-right-radius: 1px;
  32.         border-top-left-radius: 1px;
  33.  
  34.         }
  35.  
  36.         nav ul li{
  37.         position: relative;
  38.         display: inline-block;
  39.         margin: 10px;
  40.         margin-top: 0;
  41.         padding: 0.8em;
  42.         width: 80px;
  43.         height: 10px;
  44.         background: #d5d5d5;
  45.         font-family: 'Gorditas', cursive;
  46.         font-weight: 300, bold;
  47.         border-bottom-right-radius: 20px;
  48.         border-bottom-left-radius: 20px;
  49.         box-shadow: inset 0 10px 20px -11px #ff8c00;
  50.         }
  51.  
  52.         nav ul li a{
  53.         color: #444444;
  54.         text-decoration: none;
  55.         }
  56.  
  57.         nav ul li:hover{
  58.         box-shadow: 0 2px 10px #ff8c00;
  59.         background-color: #ff8c00;
  60.         height: 40px;
  61.         -webkit-transition-duration: 1s;
  62.         margin-top: 0;
  63.         }
  64.  
  65.  
  66.  
  67.         </style>
  68.     </head>
  69.     <body>
  70.         <nav>
  71.             <ul>
  72.                 <div id="menu">
  73.                     <ul>
  74.                         <li>
  75.                             <a href="#">Inicio</a>
  76.                         </li>
  77.                         <li>
  78.                             <a href="#">Item2</a>
  79.                         </li>
  80.                         <li>
  81.                             <a href="#">Item 3</a>
  82.                         </li>
  83.                         <li>
  84.                             <a href="#">Item 4</a>
  85.                         </li>
  86.                     </ul>
  87.                 </div>
  88.             </ul>
  89.         </nav>
  90.     </body>
  91. </html>


Aparte de esto, como vereis arriba tiene un borde con una sombra naranja, pero se me ve un poco mal, sabeis alguna formar de poner la sombra solo en el top, porque en los laterales se me ve algo
  #2 (permalink)  
Antiguo 27/11/2012, 08:14
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 2 meses
Puntos: 306
Respuesta: Fallo en menu

Hola
Primero creo que tienes un <ul><div><ul> cuando deberías ser solo <div><ul>, y tal vez ese div no hace falta, pero no lo estudie así que dejalo así.

Segundo, me parece que el movimiento ese se debe al display:inline-block, según pude probar, con un vertical-align: top en el css del li deberías poder solucionar el inconveniente.

Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #3 (permalink)  
Antiguo 27/11/2012, 11:55
 
Fecha de Ingreso: noviembre-2012
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Fallo en menu

"...alguien sabe porque al hacer la transiccion al pasar sobre cada pestaña del menu se me descoloca y baja?"

- sí, quita 'height: 40px;' desde nav ul li:hover

"...sabeis alguna formar de poner la sombra solo en el top..?"

- hmmm, puede quitar la sombra entera y añadir una imagen a 'background' como "background: #color url('sombra.png') top repeat-x;"
__________________
ComfortHost.NET Web Hosting Solutions
Shared, Reseller, VPS, and Dedicated Solutions
Blazing Fast Servers, 24/7 Live Chat & Ticket Support
  #4 (permalink)  
Antiguo 27/11/2012, 12:52
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: Fallo en menu

Cita:
Iniciado por PhilComfortHost Ver Mensaje
- sí, quita 'height: 40px;' desde nav ul li:hover
Yo creo que esa no es una solución, si no más bien evitar que haga lo que quiere hacer.

Cita:
Iniciado por PhilComfortHost Ver Mensaje
- hmmm, puede quitar la sombra entera y añadir una imagen a 'background' como "background: #color url('sombra.png') top repeat-x;"
No sé si te has dado cuenta, pero el foro es específico de CSS. Y gracias a Dios o al W3C —esto ya depende de cada cual— no hacen falta imágenes para hacer sombra alguna. A menos que añores aquellos años de GIFs animados, java-applets y Altavista.

Respecto a la pregunta, que ya te dijo C2am cómo arreglarlo, la de la sombra realmente sólo te hace falta jugar con el cuarto valor —que en el :hover no lo has puesto— que es la propagación de la sombra. Algo así debería de servirte:

Código CSS:
Ver original
  1. box-shadow:0 17px 10px -15px #ff8c00;

Un artículo sobre sombras: http://www.css3.info/preview/box-shadow —inglés.
  #5 (permalink)  
Antiguo 29/11/2012, 12:36
 
Fecha de Ingreso: noviembre-2012
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Fallo en menu

Cita:
Iniciado por Bonez Ver Mensaje
No sé si te has dado cuenta, pero el foro es específico de CSS.
Esto "background: #color url('sombra.png') top repeat-x;" es específicamente CSS.

Y, en respecto, no creo que has dado una solución?
__________________
ComfortHost.NET Web Hosting Solutions
Shared, Reseller, VPS, and Dedicated Solutions
Blazing Fast Servers, 24/7 Live Chat & Ticket Support
  #6 (permalink)  
Antiguo 29/11/2012, 12:48
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: Fallo en menu

Cita:
Iniciado por PhilComfortHost Ver Mensaje
Esto "background: #color url('sombra.png') top repeat-x;" es específicamente CSS.
No lo es. No si el contenido de sombra.png es una sombra, cosa que se deduce fácilmente. Es como si en vez de usar @font-face recomiendas a alguien poner una imagen con el texto y la fuente que quiera.

La solución a las preguntas está en #2 y #4.
  #7 (permalink)  
Antiguo 29/11/2012, 13:04
 
Fecha de Ingreso: noviembre-2012
Mensajes: 36
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Fallo en menu

Cita:
Iniciado por Bonez Ver Mensaje
La solución a las preguntas está en #2 y #4.
Interesante, por que la pregunta es "...sabeis alguna formar de poner la sombra solo en el top..?"

Así, ¿puede usted explicar su solución así podemos entender mejor?
__________________
ComfortHost.NET Web Hosting Solutions
Shared, Reseller, VPS, and Dedicated Solutions
Blazing Fast Servers, 24/7 Live Chat & Ticket Support
  #8 (permalink)  
Antiguo 29/11/2012, 14:11
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: Fallo en menu

Cita:
Iniciado por PhilComfortHost Ver Mensaje
¿puede usted explicar su solución así podemos entender mejor?
¿Quién es podemos?

Lo expliqué más arriba, de hecho hasta puse algo de código; sólo hay que jugar con la propagación de la sombra, luego aplicarle algún valor negativo en el desplazamiento vertical. Con lo primero se consigue que se contraiga la sombra y con lo segundo que suba hacia arriba, por lo que no se mostrará en la parte de abajo, y como está contraída, tampoco se mostrará en los laterales. Y lo mismo se puede hacer para cualquier lado.

De hecho se puede hacer muchas cosas con box-shadow, hasta sombras múltiples:
Código CSS:
Ver original
  1. algo {
  2.   box-shadow:   0     0   20px rgb(0,0,0),
  3.                40px  25px 50px rgb(150,0,210),
  4.               -40px  25px 50px rgb(0,200,255),
  5.               -40px -25px 50px rgb(0,250,150),
  6.                40px -25px 50px rgb(200,0,0);
  7. }

Etiquetas: fallo, hover, html, fondo
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 08:27.