影响 div:hover 与另一个 div [重复]

Posted

技术标签:

【中文标题】影响 div:hover 与另一个 div [重复]【英文标题】:Affecting div:hover with another div [duplicate] 【发布时间】:2011-10-27 12:51:43 【问题描述】:

我正在制作一个画廊,当您将鼠标悬停在主图像上时,缩略图应该变得透明。我想用纯 CSS 来实现这一点,但我不确定这是否可能。

CSS:

/* should affect thumbs but not main */
/* obviously this code wouldn't work */
#main:hover, #thumbs 
  opacity: .5;

html

<div id="main">
  Hover over me to change #thumbs
</div>
<div id="thumbs">
  I change when you hover over #main
</div>

这可能使用纯 CSS 吗?

【问题讨论】:

【参考方案1】:

即使是这样,它在 IE 中也不起作用:)

我建议使用 onmouseover 事件

不过这是个好问题,我很好奇是否有人有通过 css 跨浏览器的解决方案

【讨论】:

它不需要在 IE 中工作,我已经知道如何编写回退,但我不认为我会为此烦恼。它更像是一个个人网站。 @rev:请参阅 Nightfirecat 提供的解决方案。太棒了,它适用于 IE 7 和 8 - 我已经测试过 您可以单独使用 CSS 完成此操作。请参阅我的pure-CSS signal bar rating widget answer,它表明您可以更改甚至(似乎)显示在 DOM 中的元素的样式悬停的元素之前。【参考方案2】:

只有选择器的子级会受到影响。否则,您将需要使用 javascript

例如:

div:hover #childDiv 
  background: green;

【讨论】:

【参考方案3】:

我认为你需要一些 javascript。

【讨论】:

您可以单独使用 CSS 完成此操作。请参阅我的pure-CSS signal bar rating widget answer,它表明您可以更改甚至(似乎)显示在 DOM 中的元素的样式悬停的元素之前。 认真的吗? 4 年后投反对票? 现在和以前一样错。我昨天刚刚偶然发现了答案。我不是一个可能会在发布答案时阅读答案的版主;只是一个通过网络搜索来到这里的随机用户。 4 年前有一个明确接受的答案,但您决定继续讨伐其他答案?你真的需要一个更好的爱好。【参考方案4】:

没有。您必须使用 Javascript。

【讨论】:

您可以单独使用 CSS 完成此操作。请参阅我的pure-CSS signal bar rating widget answer,它表明您可以更改甚至(似乎)出现在 DOM 中的元素的样式悬停的元素之前。【参考方案5】:

当然,只需使用相邻兄弟选择器:

#div1:hover + #div2 
    ...

这里有一个例子:http://jsfiddle.net/6BfR6/94/

【讨论】:

+1 太棒了...甚至不知道这存在! meyerweb.com/eric/articles/webrev/200007a.html 哇!谢谢!这绝对是完美的!就像我上面的那个人一样,我不知道它的存在。完美。 +1 我不知道你可以在没有 Javascript 的情况下做到这一点。 @Nightfirecat,是的,我知道这是一个 2.1 选择器。我只是想展示 current 选择器的完整规范 :-) 您可以使用更通用的~ 选择器,您甚至可以定位显示为 DOM 中悬停的元素的元素。见我的pure-CSS signal bar rating widget answer。【参考方案6】:

#div1:hover + #div2 ...

它在 IE 7、8、9 和 10 中运行良好。不需要任何 JS 或 onovermouse 并且 NOT ONLY 选择器的子级会受到影响。

试试“夜火猫”的示例链接。

【讨论】:

以上是关于影响 div:hover 与另一个 div [重复]的主要内容,如果未能解决你的问题,请参考以下文章

div hover事件

javascript 缩放div hover btn

IE8:Div hover 只在设置背景色时有效,很奇怪,为啥?

鼠标经过一个div时 , 如何让另一个div以过渡效果高度增加

jQuery中hover事件的延迟

CSS动画,由其他DIV动作触发