transicion texto pasar para otro objeto mostrar imagenes imagen hacer efectos efecto con cambiar bootstrap afectar css css3 hover

texto - hover en css



hover en hijo sin efecto de hover en padre (2)

Esta pregunta ya tiene una respuesta aquí:

Así que tengo 2 div ''s están uno en el otro así como esto

<div class="parent"> <div class="child"></div> </div>

y quiero cambiar el background de .parent cuando paso por encima de .parent .

pero quiero que el background vuelva a ser normal cuando me .child sobre .child .

así, por ejemplo: http://jsfiddle.net/k3Zdt/1/

Cuando me coloco sobre el área azul oscura, quiero que el área azul no tan oscura no se quede tan azul oscura en lugar de cambiar a blanco.

Me gustaría mantener esta estructura <div> . y no quiero una solución de JavaScript (conozco la solución de JavaScript pero quiero mantenerla en formato CSS puro).



Puedes engañar a algo;)

Básicamente, use un :before pseudo-elemento para el div niño, con su mismo tamaño;

cuando se desplaza sobre el div niño, amplíe el :before pseudo-elemento para cubrir el área del div padre; esto hará que el efecto hover del padre caiga y luego vuelva al estado original. Una combinación precisa de índice z está involucrada también.

Demostración: http://jsfiddle.net/gFu8h/

CSS Dark Magic (tm)

.parent { width:100px; height:100px; padding:50px; transition:background-color 1s; background:#3D6AA2; position: relative; z-index: 1; } .parent:hover{ background:#FFF; } .child { height:100px; width:100px; background:#355E95; transition:background-color 1s; position: relative; } .child:hover { background:#000; } .child:before{ content: ''''; position: absolute; top: 0; bottom: 0; right: 0; left: 0; z-index: -1; transition:background-color 1s; } .child:hover:before{ top: -50px; bottom: -50px; left: -50px; right: -50px; background:#3D6AA2; }