Foros del Web » Creando para Internet » CSS »

duda sobre el evento hover

Estas en el tema de duda sobre el evento hover en el foro de CSS en Foros del Web. buenas. hay algo que quisiera saber. hasta ahora, para que un elemento de una página cambie haciendo hover sobre otro elemento, el elemento que cambia ...
  #1 (permalink)  
Antiguo 21/01/2012, 12:19
Avatar de RafaRG  
Fecha de Ingreso: julio-2011
Ubicación: Córdoba, España
Mensajes: 124
Antigüedad: 12 años, 9 meses
Puntos: 13
Pregunta duda sobre el evento hover

buenas. hay algo que quisiera saber. hasta ahora, para que un elemento de una página cambie haciendo hover sobre otro elemento, el elemento que cambia tenía que meterlo dentro del elemento sobre el que hago hover. por ejemplo, el siguiente código:

Código PHP:
<style type="text/css">
#rojo {
    
width:600px;
    
height:400px;
    
background-color:red;
    }
#rojo #amarillo {
    
display:none;
    }
#rojo:hover #amarillo {
    
display:block;
    
height:200px;
    
width:600px;
    
background-color:yellow;
    
position:relative;top:100px;
    }
</
style>
<
div id="rojo">
    <
div id="amarillo"></div>
</
div
el código en sí hace, al hacer hover en rojo, que aparezca amarillo. si os fijáis, el div amarillo he tenido que incluirlo dentro del div rojo.
mi pregunta es la siguiente: ¿se puede hacer el mismo efecto, para cualquier efecto, pero sin tener que incluir el elemento que cambia dentro del elemento en el que hago hover? osea, que, para este ejemplo, amarillo no tenga que ir dentro de rojo.
en pocas palabras: quisiera saber cómo optimizar el código.
espero haberme explicado bien.
un saludo

Última edición por RafaRG; 21/01/2012 a las 12:48
  #2 (permalink)  
Antiguo 22/01/2012, 17:03
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: duda sobre el evento hover

Te molesta mucho esta forma? Lo que pasa es que le podrías poner directamente el hover a a amarillo, pero como por defecto está oculto nunca podrás pasar el mouse encima de el.

Osea que la forma que estás usando está bien.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 22/01/2012, 22:51
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: duda sobre el evento hover

Hola Rafa, creo que hasta ahí llega css.
Seguramente los nuevos selectores css3 permitirán jugar un poco más.
Código:
// Por ejemplo, el selector de hermanos:
#rojo ~ #amarillo {... estilos ...}

//para...
<div id="rojo"></div><div id="amarillo"></div>
En este tema el compañero ryugen hace una buena demostración.

Pero ya cuando hay mucha distancia (en la jerarquía dom, relacion padre/hijo) entre el elemento que contiene el evento y el/los otro/s elemento/s sobre el que se llevarán a cabo los cambios (por ejemplo, hacer hover sobre un enlace en la cabecera y que cambie el contenido de un enlace en el footer) al menos en mi experiencia, y mi ignorancia, es hora de poner manos en código javascript.
Para lo cual particularmente opto por jquery por su facilidad en la manipulación del dom y por la seguridad de que obtendré un resultado crossbrowser.

Saludos.
  #4 (permalink)  
Antiguo 23/01/2012, 05:03
Avatar de RafaRG  
Fecha de Ingreso: julio-2011
Ubicación: Córdoba, España
Mensajes: 124
Antigüedad: 12 años, 9 meses
Puntos: 13
Respuesta: duda sobre el evento hover

Carlangueitor: no, no es que me moleste mucho. es solo que quería saber si existían más formas de hacer la misma cosa.
cristian_cena: lo que ryugen pone como ejemplo parece interesante. de hecho, he encontrado una nueva forma de hacer los tab solo con css, cosa que hasta ahora hacía con javascript.
muchas gracias por las respuestas.
  #5 (permalink)  
Antiguo 23/01/2012, 11:04
Avatar de lestrade  
Fecha de Ingreso: enero-2012
Ubicación: Madrid
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: duda sobre el evento hover

Existen eventos de javascript como onclick, onmouseover, onmouseout, etc. que también puedes utilizar.
  #6 (permalink)  
Antiguo 23/01/2012, 11:43
Avatar de RafaRG  
Fecha de Ingreso: julio-2011
Ubicación: Córdoba, España
Mensajes: 124
Antigüedad: 12 años, 9 meses
Puntos: 13
Respuesta: duda sobre el evento hover

es otra posibilidad, pero eso tiende a ser menos incompatible con los navegadores más estrictos en seguridad. por ejemplo, en internet explorer, me pide permiso para ejecutar cierto script (mostrar y ocultar contenido) que en otros navegadores ejecuta sin problemas.
  #7 (permalink)  
Antiguo 23/01/2012, 11:45
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: duda sobre el evento hover

Eso no tiene nada que ver. Internet explorer no te deja ejecutarlo en local, pero cuando lo subas a un servidor o instales un servidor en tu equipo eso no pasa.

Saludos
__________________
Grupo Telegram Docker en Español
  #8 (permalink)  
Antiguo 23/01/2012, 11:47
Avatar de RafaRG  
Fecha de Ingreso: julio-2011
Ubicación: Córdoba, España
Mensajes: 124
Antigüedad: 12 años, 9 meses
Puntos: 13
Respuesta: duda sobre el evento hover

vaya, pues ignoraba eso. gracias por el dato :)

Etiquetas: hover
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:07.