Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Navbar con triangulo abajo

Estas en el tema de Navbar con triangulo abajo en el foro de CSS en Foros del Web. Buenas noches, quería saber cómo hacer un navbar parecido al de ésta imagen: Lo que no me sale es poner el triángulo justo debajo de ...
  #1 (permalink)  
Antiguo 26/07/2013, 00:03
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Navbar con triangulo abajo

Buenas noches, quería saber cómo hacer un navbar parecido al de ésta imagen:



Lo que no me sale es poner el triángulo justo debajo de cada link.
La navbar la tengo codeada con <ul> y <li>.
Sé cómo hacer los triángulos pero no puedo ubicarlos exactamente debajo del texto centrados en el medio, desde ya gracias!

Dejo mi código:
Código CSS:
Ver original
  1. nav li:after {
  2.     position: absolute;
  3.     left: 50%;
  4.     content: "\00a0";
  5.     display: block;
  6.     width: 0px;
  7.     height: 0px;
  8.     border-width:0px 10px 10px 10px;
  9.     border-style: solid;
  10.     border-color: transparent transparent #32a9de transparent;
  11. }

Código HTML:
Ver original
  1. <nav>
  2.     <ul>
  3.     <li><a href="">Celulares</a></li>
  4.     <li><a href="">Versus</a></li>
  5.     <li><a href="">Sistemas Operativos (S.O.)</a></li>
  6.     <li><a href="">ENLACE4</a></li>
  7.     </ul>
  8.     </nav>

Y una screen de cómo queda:

Se dan cuenta que no queda bien centrado? Ni idea por qué

PD: El rojo es sólo para que vean bien el div jajaja saludos!
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.
  #2 (permalink)  
Antiguo 26/07/2013, 03:30
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Navbar con triangulo abajo

Tienes dos opciones.

Una es usar calc() y la otra es poner un margen negativo a la izquierda:

Código CSS:
Ver original
  1. left: calc(50% - 10px)
  2. /* O bien */
  3. left: 50%;
  4. margin-left: -10px;

La cosa es mover la mitad del triángulo a la izquierda, porque ahora mismo su parte izquierda está justo en el centro.
  #3 (permalink)  
Antiguo 26/07/2013, 13:24
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 2 meses
Puntos: 280
Respuesta: Navbar con triangulo abajo

Dudo que la posición absoluta sea la mejor solución. Si pones el gráfico y tu sitio de ejemplo es posible que haya una mejor manera de ubicarlo.
__________________
Visita mi nueva web idplus.org
  #4 (permalink)  
Antiguo 26/07/2013, 13:39
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Navbar con triangulo abajo

Mikmoro en este si que es la mejor solución, sobre todo al ser un pseudo-elemento (:after) que no forma parte del documento en si mismo.

En CSS moderno —no voy a llamarlo 3 — es muy habitual trabajar así con los pseudo-elementos.
  #5 (permalink)  
Antiguo 26/07/2013, 13:56
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 2 meses
Puntos: 280
Respuesta: Navbar con triangulo abajo

Me gustaría probar otras antes de estar seguro de que es la mejor solución. Habrá que ver qué pasa con navegadores, resolucinoes y tamaños de ventanas diferentes.
__________________
Visita mi nueva web idplus.org
  #6 (permalink)  
Antiguo 26/07/2013, 13:58
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Navbar con triangulo abajo

Yo presupongo que cada li tendrá una posición relativa, para hacer de contenedor, por eso no va a influir el tamaño de la ventana y demás.
  #7 (permalink)  
Antiguo 26/07/2013, 14:22
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 2 meses
Puntos: 280
Respuesta: Navbar con triangulo abajo

Si es así, y cada li tiene posición relativa para otorgar posición de referencia, imagino que las cosas se pueden colocar con respecto a él sin necesidad de posición absoluta, pero bueno, habría que saber exactamente cómo está todo.
__________________
Visita mi nueva web idplus.org
  #8 (permalink)  
Antiguo 26/07/2013, 18:06
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Respuesta: Navbar con triangulo abajo

Cita:
Iniciado por pzin Ver Mensaje
Tienes dos opciones.

Una es usar calc() y la otra es poner un margen negativo a la izquierda:

Código CSS:
Ver original
  1. left: calc(50% - 10px)
  2. /* O bien */
  3. left: 50%;
  4. margin-left: -10px;

La cosa es mover la mitad del triángulo a la izquierda, porque ahora mismo su parte izquierda está justo en el centro.
Muchas gracias pzin :) Me sirvió a la perfección, y el li está en position relative :)
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.
  #9 (permalink)  
Antiguo 27/07/2013, 02:14
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 2 meses
Puntos: 280
Respuesta: Navbar con triangulo abajo

No tengo la fuente para probarlo pero, ¿habéis probado a pulsar control+ en el navegador para aumentar el tipo de letra, a ver si todo sigue bien (es algo habitual en cuanto a accesibilidad). No digo que no siga bien, sino si lo habéis probado, porque yo no tengo tus fuentes. Al usar px con el desplazamiento negativo para centrar, lo normal será que al aumentar o reducir se vuelva a descuadrar.
__________________
Visita mi nueva web idplus.org
  #10 (permalink)  
Antiguo 27/07/2013, 03:21
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Navbar con triangulo abajo

No se descuadra, por está siempre a la mitad (50%) restándole la mitad de su ancho (-10px).

http://jsfiddle.net/wv2ht
  #11 (permalink)  
Antiguo 27/07/2013, 04:20
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 18 años, 2 meses
Puntos: 280
Respuesta: Navbar con triangulo abajo

Ah, ya. Lo que no entiendo entonces es qué es esto:
content: "\00a0";

Edito: ya veo: es un espacio en blanco de no separación. Entonces veo que no sé cómo se crea ese triángulo con los bordes y el espacio de no separación sin imágenes.
Por mi parte pues zanjado.
__________________
Visita mi nueva web idplus.org

Última edición por Mikmoro; 27/07/2013 a las 04:45
  #12 (permalink)  
Antiguo 28/07/2013, 17:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Respuesta: Navbar con triangulo abajo

Cita:
Iniciado por Mikmoro Ver Mensaje
Ah, ya. Lo que no entiendo entonces es qué es esto:
content: "\00a0";

Edito: ya veo: es un espacio en blanco de no separación. Entonces veo que no sé cómo se crea ese triángulo con los bordes y el espacio de no separación sin imágenes.
Por mi parte pues zanjado.
Bueno eso empieza a ser como un espacio en blanco, no entiendo bien como funciona, ya que lo saqué de un tutorial y si bien sirve, cuando quito eso los triángulos mágicamente desaparecen... Otra cosa que quiero destacar y ahora que veo bien se me presenta como duda, es que cuando presiono control+ se corren de lugar, o sólamente quitando unos pixeles de height a la ventana del navegador, osea minimizándola, cuando aprieto refresh los triángulos se corren, por qué será?
Img:

__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.
  #13 (permalink)  
Antiguo 28/07/2013, 18:06
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Navbar con triangulo abajo

Seguramente tengas que añadirle a :after:

Código CSS:
Ver original
  1. bottom: 0
  #14 (permalink)  
Antiguo 28/07/2013, 18:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Respuesta: Navbar con triangulo abajo

Cita:
Iniciado por pzin Ver Mensaje
Seguramente tengas que añadirle a :after:

Código CSS:
Ver original
  1. bottom: 0
Otra vez, gracias por responder.
Le agregué bottom -10, porque sino quedaba dentro de la nav (lo gris oscuro) y no era lo que quería, pero sigue pasando lo mismo, al hacer ctrl+ y renovar la página se suben...

EDITO: Lo que veo es que si tiene el bottom: 0 no pasa eso, no queda visualmente como quiero, pero no se levanta cuando pongo zoom a la página
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.
  #15 (permalink)  
Antiguo 29/07/2013, 01:32
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 4 meses
Puntos: 2114
Respuesta: Navbar con triangulo abajo

¿Lo tienes en algún sitio online para verlo in situ? Si cada li tiene una posición relativa no debería de moverse.
  #16 (permalink)  
Antiguo 29/07/2013, 08:48
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 14 años
Puntos: 5
Respuesta: Navbar con triangulo abajo

Cita:
Iniciado por pzin Ver Mensaje
¿Lo tienes en algún sitio online para verlo in situ? Si cada li tiene una posición relativa no debería de moverse.
Ya lo solucioné, muchas gracias por la ayuda!
__________________
WWW.LLORK.COM - El futuro es nuestro
Blog de descargas, tutoriales, guías, noticias y más.

Etiquetas: centro, triangulo
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 05:18.