用于悬停的CSS,包括所有子元素

时间:2020-03-06 14:45:46  来源:igfitidea点击:

我有一个具有悬停样式的可拖动div元素。这可以正常工作,但div包含一些表单元素(标签,输入)。问题是,当鼠标悬停在这些子元素上时,悬停将被禁用。

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

.app_setting:hover {
  cursor:move;
}

任何想法如何使悬停也适用于子元素?

解决方案

.app_setting *:hover { cursor:move }

至少有两种方法:

  • 如garrow.class *:hover所建议的那样,显式地或者使用*选择器为每个孩子悬停状态
  • 将悬停状态级联到子级.class:hover *

可能还有其他

我们可能必须求助于JS才能实现IE6.

这不是css的答案,但对我们可能仍然有用。

有人已经建议我们可能必须使用javascript来实现浏览器兼容性。如果我们确实使用javascript,则可以使用jquery库使其变得简单。

$("。appsetting")。hover(hoverInFunc,hoverOutFunc);`

这将设置一个事件处理程序,用于在$()调用中的css样式选择器匹配的情况下,将鼠标悬停在所选择的元素之间。