2008-09-26 7 views
17

Tengo un elemento div arrastrable con un estilo de desplazamiento. Esto funciona bien, pero el div contiene algunos elementos de formulario (etiqueta, entrada). El problema es que cuando el mouse está sobre estos elementos secundarios, se deshabilita el desplazamiento.CSS para el elemento emergente que incluye todos los elementos secundarios

<div class="app_setting"> 
    <label">Name</label> 
    <input type="text" name="name"/> 
</div> 

.app_setting:hover { 
    cursor:move; 
} 

¿Alguna idea sobre cómo hacer que el vuelo estacionario se aplique también a los elementos secundarios?

Respuesta

34
.app_setting *:hover { cursor:move } 
+1

esto rocas gracias – lawphotog

+1

como con todas las reglas CSS, es posible que tenga que usar '.app_setting *: hover {cursor: mover! Importante; } 'para anular cualquier cursor que haya establecido en elementos secundarios en otras partes de sus reglas css –

+0

Usando Firefox, (algunos años después) esto no funciona. En realidad, funciona con menos eficacia que el intento original de los cuestionarios (¡lo es! Importante o no) – PandaWood

12

Al menos 2 maneras de hacerlo:

  • estados libración para cada niño, ya sea explícita o con * selector, según lo sugerido por Garrow .class *:hover
  • cascada de estado estacionario a los niños .class:hover *

Probablemente haya otros

+1

Este '.class: hover *' me ha hecho un trabajo realmente bueno. – Vukasin

1

Es posible que tenga que recurrir a JS para que suceda con IE6.

+8

Recientemente decidí que no apoyaré IE 6 para ninguno de mis nuevos trabajos de desarrollo. –

2

Esta no es una respuesta CSS, pero aún puede ser útil para usted.

Alguien más ya sugirió que podría tener que recurrir a Javascript para la compatibilidad del navegador. Si recurres a javascript, puedes usar la biblioteca jquery para hacerlo más fácil.

$(".appsetting").hover(hoverInFunc,hoverOutFunc);

Esto establece un controlador de eventos para que asoma dentro y fuera del elemento (s) seleccionado como igualada por el selector de estilo css en la llamada $().

+1

+1, también considere hoverIntent, es un complemento que creo que es mucho mejor que el método .hover predeterminado. – alex

Cuestiones relacionadas