CSS для наведения, который включает в себя все дочерние элементы - PullRequest
23 голосов
/ 26 сентября 2008

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

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

.app_setting:hover {
  cursor:move;
}

Есть какие-нибудь идеи, как заставить навести курсор также на дочерние элементы?

Ответы [ 4 ]

36 голосов
/ 26 сентября 2008
.app_setting *:hover { cursor:move }
15 голосов
/ 26 сентября 2008

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

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

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

2 голосов
/ 26 сентября 2008

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

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

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

Устанавливает обработчик событий для наведения на и из выбранных элементов, соответствующих селектору стиля css в вызове $().

1 голос
/ 26 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...