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

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

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

.app_setting:hover {
  cursor:move;
}

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

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
26
0
30 937
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

.app_setting *:hover { cursor:move }

как и со всеми правилами css, вам, возможно, придется использовать .app_setting *:hover { cursor:move !important; } для переопределения любого курсора, который вы, возможно, установили для дочерних элементов в другом месте в правилах css

Stefan Haberl 12.02.2013 16:51

При использовании Firefox (по общему признанию, несколько лет спустя) это не работает. На самом деле это работает даже менее эффективно, чем первоначальная попытка вопрошающего (с использованием! Important или нет)

PandaWood 31.07.2015 16:15

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

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

Наверное, есть и другие

опция .class: hover * работала для меня, когда .class *: hover - нет. Спасибо, Линус!

sshel207 03.04.2019 17:38

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

Недавно я решил, что не буду поддерживать IE 6 ни в одной из моих новых разработок.

Toby Hede 26.09.2008 08:24

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

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

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

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

+1, также рассмотрите hoverIntent, это плагин, который, на мой взгляд, намного лучше, чем метод .hover по умолчанию.

alex 15.06.2009 05:46

Другие вопросы по теме