悬停一个元素时如何影响其他元素

新手上路,请多包涵

我想做的是当某个 div 悬停时,它会影响另一个 div 的属性。

例如,在 这个 JSFiddle 演示 中,当您将鼠标悬停在 #cube 上时,它会更改 #cube background-color 但我想要的是,当我将鼠标悬停在 #container 上时 --- 受到影响。

 div {
  outline: 1px solid red;
}

#container {
  width: 200px;
  height: 30px;
}

#cube {
  width: 30px;
  height: 100%;
  background-color: red;
}

#cube:hover {
  width: 30px;
  height: 100%;
  background-color: blue;
}
 <div id="container">
  <div id="cube">
  </div>
</div>

原文由 Trufa 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 411
2 个回答

如果立方体直接在容器内:

 #container:hover > #cube { background-color: yellow; }

如果立方体在容器旁边(在容器结束标签之后):

 #container:hover + #cube { background-color: yellow; }

如果立方体在容器内的某处:

 #container:hover #cube { background-color: yellow; }

如果多维数据集是容器的兄弟:

 #container:hover ~ #cube { background-color: yellow; }

原文由 Mike 发布,翻译遵循 CC BY-SA 3.0 许可协议

在此特定示例中,您可以使用:

 #container:hover #cube {
    background-color: yellow;
}

此示例仅适用于 cubecontainer 的子项。对于更复杂的场景,您需要使用不同的 CSS,或者使用 JavaScript。

原文由 Emmett 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题