CSS для зависания, который включает все дочерние элементы

У меня есть перетаскиваемый элемент div со стилем наведения. Это отлично работает, но div содержит некоторые элементы формы (метка, ввод). Проблема в том, что когда мышь над этими дочерними элементами, наведение отключено.

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

.app_setting:hover {
  cursor:move;
}

Любые идеи, как заставить зависание применять также к дочерним элементам?

Ответы

Ответ 1

.app_setting *:hover { cursor:move }

Ответ 2

Как минимум 2 способа сделать это:

  • для каждого дочернего элемента, явно или с помощью * -селектора, как предложено garrow .class *:hover
  • Состояние каскадного наведения для детей .class:hover *

Возможно, есть другие

Ответ 3

Это не ответ css, но он может быть полезен для вас.

Кто-то еще предположил, что вам, возможно, придется прибегать к javascript для совместимости браузера. Если вы прибегаете к javascript, вы можете использовать библиотеку jquery, чтобы упростить ее.

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

Это устанавливает обработчик события для зависания и выталкивания из выбранного элемента (ов), который соответствует селектору стиля CSS в вызове $().

Ответ 4

Возможно, вам придется прибегнуть к JS, чтобы это произошло для IE6.