Foros del Web » Creando para Internet » CSS »

Cómo lograr el efecto expandir/encoger enlace

Estas en el tema de Cómo lograr el efecto expandir/encoger enlace en el foro de CSS en Foros del Web. Buenas, Dispongo de una barra horizontal con unos enlaces en forma de lista tipo así @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < div class = ...
  #1 (permalink)  
Antiguo 23/04/2012, 14:38
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Cómo lograr el efecto expandir/encoger enlace

Buenas,

Dispongo de una barra horizontal con unos enlaces en forma de lista tipo así

Código HTML:
Ver original
  1. <div class="ordenacion">Ordenar por:<ul><li><a href="#">Categoria A</a></li>/<li><a href="#">Categoria B</a></li>/<li><a href="#">Categoria C</a></li>/<li><a href="#" class="activo">Categoria D</a></li>/<li><a href="#">Categoria E</a></li>/<li><a href="#">Categoria F</a></li></ul></div>

Como así queda muy largo, había pensado ponerlos de tal forma que quedasen así, encogidos

Ordenar por: A / B / C / D / E / F

Pero que al pasar por encima de cada uno se fueran desplegando y/o encogiendo cuando no estuvieras encima.

Ordenar por: A / B / C / Categoria D / E / F

Pero no se cómo lograr ese efecto. ¿Alguien me puede orientar?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 23/04/2012, 15:05
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Cómo lograr el efecto expandir/encoger enlace

puedes usar el pseudo elemento :before
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 23/04/2012, 15:08
Avatar de YYs86  
Fecha de Ingreso: abril-2012
Ubicación: Salamanca
Mensajes: 136
Antigüedad: 12 años, 7 meses
Puntos: 14
Respuesta: Cómo lograr el efecto expandir/encoger enlace

Puedes hacerlo con jquery de una forma fácil.
Código Javascript:
Ver original
  1. $('.item-menu').mouseover(function(){
  2.   $(this).parent().find('span').show();
  3. }).mouseout(function(){
  4.   $(this).parent().find('span').hide();
  5. });

Código HTML:
Ver original
  1. <div class="item-menu">Opción 1<span style="display: none">Lo que quieras mostrar</span></div>
__________________
Web developer:

http://xtremgaming.es
http://leaderleague.com
  #4 (permalink)  
Antiguo 23/04/2012, 15:35
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Cómo lograr el efecto expandir/encoger enlace

Cita:
Iniciado por YYs86 Ver Mensaje
Puedes hacerlo con jquery de una forma fácil.
como decimos por aquí, esto es para mear y no echar ni gota. estamos en el foro de css, no de javascript. y encima recomiendas usar una librería!!!
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 23/04/2012, 15:36
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Cómo lograr el efecto expandir/encoger enlace

Lo he probado cómo dices YYs86 ya que no he consigo hacerlo de la forma que decía IsaBelM, pero claro al pasar por encima de cualquiera de ello me muestra el texto oculto de todos los span, no sobre el que estoy encima, hay alguna forma de diferenciarlo?


Código HTML:
Ver original
  1. <div class="ordenacion">Ordenar por:<ul>
  2. <li>R<span style="display: none">elevancia</span></li>/<li>R<span style="display: none">aking</span></li>
  3. </ul></div>

Código Javascript:
Ver original
  1. $('.ordenacion').mouseover(function(){
  2. $(this).parent().find('span').show();
  3. }).mouseout(function(){
  4. $(this).parent().find('span').hide();
  5. });

Muchas gracias de antemano
  #6 (permalink)  
Antiguo 23/04/2012, 15:39
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Cómo lograr el efecto expandir/encoger enlace

y por eso te lanzas a usar una librería??

a ver así
Cita:
p:hover:before {content: "Tipo: "}

<p>texto plano</p>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 23/04/2012, 15:43
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Cómo lograr el efecto expandir/encoger enlace

Conseguido con

$('.ordenacion li').mouseover(function(){
$(this).find('span').show();
}).mouseout(function(){
$(this).find('span').hide();
});

Pero no me acaba de gustar mucho el efecto al pasar por encima de ellos, si vas uno a uno no queda mal, pero a la que recorres varios a la vez con el cursor el efecto gusta. Es demasiado rapido el mostrar y esconder
  #8 (permalink)  
Antiguo 23/04/2012, 15:57
Avatar de YYs86  
Fecha de Ingreso: abril-2012
Ubicación: Salamanca
Mensajes: 136
Antigüedad: 12 años, 7 meses
Puntos: 14
Respuesta: Cómo lograr el efecto expandir/encoger enlace

Puedes ponerle un delay al efecto...

Y si fue culpa mia ponerle el .parent() pensaba metertelo dntro de otro <div> mas xD

Código Javascript:
Ver original
  1. $(this).find('span').show("slow");
__________________
Web developer:

http://xtremgaming.es
http://leaderleague.com
  #9 (permalink)  
Antiguo 24/04/2012, 06:29
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 17 años, 5 meses
Puntos: 539
Respuesta: Cómo lograr el efecto expandir/encoger enlace

No me lo puedo creer.
¿Qué será lo próximo?
¿no sólo js, toda una librería para un simple a span {display: none} a:hover span {display:...}?

Esperando la próxima sorpresa... tic tac tic tac...
__________________
Por una web con mucho estilo
+++ CUENTA ABANDONADA. ¿la quieres? +++
  #10 (permalink)  
Antiguo 24/04/2012, 13:33
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Cómo lograr el efecto expandir/encoger enlace

Gracias a todos por vuestras respuestas, despues de ver las funcionalidad he acabado implementado lo siguiente, aunque me pregunto si este mismo efecto lo podría hacer solo con CSS, ya que no lo creo

<div class="ordenacion">Ordenar por: <span id="torden" style="display: none;">Categoria3</span><ul>
<li id="Categoria1">A</li>/
<li id="Categoria2">B</li>/
<li id="Categoria3">C</li>/
</ul>
</div>

Y el funcionamiento es el siguiente

Ordenar por: [nombre del metodo de ordenacion seleccionado con hover encima de la A, B o C y que va cambiando segun pases el raton por cada uno de ellos] A / B / C

Muchas gracias
  #11 (permalink)  
Antiguo 24/04/2012, 18:52
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años
Puntos: 317
Respuesta: Cómo lograr el efecto expandir/encoger enlace

Una de dos : o se mueve el tema a Javascript, o se banea a esta gente por desubicada.
O ambas.

Creí recordar que ya se había mencionado el asunto antes. Al fin lo encontré, pero no estoy seguro de que aún funcione. No quise perder el tiempo probando y que alguien me ganara de mano poniendo el mismo enlace.

Enlaces largos





Edición :

... o poniendo otro mejor

Abreviar texto dentro de celda

Última edición por furoya; 24/04/2012 a las 19:08 Razón: Agregar otro enlace.

Etiquetas: efecto, enlace, lograr
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:52.