选择另一个元素时CSS悬停不起作用[重复]

Posted

技术标签:

【中文标题】选择另一个元素时CSS悬停不起作用[重复]【英文标题】:CSS Hover Will Not Work When Selecting Another Element [duplicate] 【发布时间】:2021-09-29 10:18:19 【问题描述】:

当悬停在跨度上时,我希望 H1 元素变为蓝色。但是,事实并非如此。我做错了什么?

span:hover 
  background-color: red;
  color: white;

span:hover h1 
  color: blue;
<span>HOVER</span>
<h1>test</h1>

【问题讨论】:

【参考方案1】:

试试这个..

检查this 中的“+”(加号)CSS 选择器是什么意思?

span:hover 
  background-color: red;
  color: white;

span:hover + h1 
  color: blue;
<span>HOVER</span>
<h1>test</h1>

【讨论】:

【参考方案2】:

H1 ​​不是跨度的孩子,它是兄弟,所以你需要兄弟组合 + https://developer.mozilla.org/en-US/docs/Web/CSS/Adjacent_sibling_combinator

span:hover 
  background-color: red;
  color: white;

span:hover + h1 
  color: blue;
<span>HOVER</span>
<h1>test</h1>

【讨论】:

【参考方案3】:

为了设置相邻兄弟的样式,您必须使用 +span:hover + h1

span:hover 
  background-color: red;
  color: white;


span:hover + h1 
  color: blue;
<span>HOVER</span>
<h1>test</h1>

span:hover h1 尝试在 span 处于悬停状态时找到 h1 节点。当您的布局仅采用以下格式时,这将起作用。

span:hover 
  background-color: red;
  color: white;


span:hover h1 
  color: blue;
<span>
  HOVER
  <h1>test</h1>
</span>

请参阅 this 文档以了解更多有关 CSS 选择器的信息。

【讨论】:

以上是关于选择另一个元素时CSS悬停不起作用[重复]的主要内容,如果未能解决你的问题,请参考以下文章

我需要在css中有两个动画,一个在开始,一个在悬停,但它不起作用

多个 DIV 的 CSS 悬停效果不起作用 [重复]

填充颜​​色的CSS过渡在悬停时不起作用[重复]

元素未显示并且:悬停在.svg上不起作用[重复]

悬停时div的背景图像转换不起作用[重复]

CSS列表悬停在Google Chrome中不起作用[重复]