将元素悬停在另一个元素上时,可以更改其背景颜色吗?

泥泞的小狗

通过CSS悬停在辅助元素上时,是否可以更改元素的背景。我想使代码尽可能简单。

我希望使'sup-background'元素仅在:hover时才更改颜色。我知道下面的代码只会更改文本元素的背景颜色。

任何建议或答案将是惊人的,谢谢。

<!doctype html>
<html>
<style>
  a {
    font-size: 12px;
  }
  
  sup {
    font-size: 10px;
  }
  
  .sup-background {
    padding: 10px;
    border-radius: 100px;
    background-color: white
  }
  
  a:hover+.sup-background {
    background-color: red;
  }
</style>

<body>
  <div><a>Hello</a><sup class="sup-background">YOU</sup></div>
</body>

</html>

戴尔兰德里

使用纯CSS:在悬停和目标元素之间添加波浪号字符,以标识您希望在悬停时更改的受影响元素。In CSS, the symbol tilde(~) is know as Subsequent-sibling combinator

MDN通用同级组合器

#cont {
  display: flex;
  justify-content: space-around;
}

.el1 {
  height: 200px;
  width: 200px;
  background: #eee;
}

.el2 {
  height: 200px;
  width: 200px;
  background: #ff0;
}

.el1:hover~.el2 {
  background: #f00;
  color: #fff;
}
<div id="cont">
  <div class="el1"></div>
  <div class="el2"></div>
</div>

这也可以使用包含两个事件侦听器的函数的Javascript实现。一个改变背景mouseover,另一个改变背景mouseout

let el1 = document.getElementById('el-1');
let el2 = document.getElementById('el-2');

// make a function that adds two eventlisteners  
// with two elements passed as params into the function
// paramater 1 (e) is the hover element
// parament 2 (el) is the affected element

const hoverEvent = (e,el) => {
  e.addEventListener('mouseover', () => {
    el.style.background = "#FF0";
  })

  e.addEventListener('mouseout',  () => {
    el.style.background = "#F00";
  })
}

// add the two parameters (elements) defined above tot he function
hoverEvent(el1, el2);
#cont {
  display: flex;
  justify-content: space-around;
}

#el-1 {
  background: #ccc;
  width: 200px;
  height: 200px;
}

#el-2 {
  background: #f00;
  width: 200px;
  height: 200px;
}
<div id="cont">
  <div id="el-1"></div>


  <div id="el-2"></div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将一个元素悬停在另一个元素上时更改其CSS

将鼠标悬停在另一个元素上时如何更改元素的颜色?

当将另一个元素悬停在元素上时,如何更改:hover状态?

将鼠标悬停在一个元素上可更改另一个元素的背景img

悬停在另一个元素上时如何更改元素的CSS元素

当另一个元素悬停在元素上时更改元素中的文本

将鼠标悬停在另一个元素上时删除<div>元素

:将鼠标悬停在一个元素上以更改另一个元素?

将鼠标悬停在一个元素上以更改另一个元素

将鼠标悬停在另一个<li>上时更改一个<li>的背景

将鼠标悬停在某个元素上可以对不相邻或同级的另一个元素生效

当我们将鼠标悬停在不同的元素上时,将一个图标更改为另一个

将鼠标悬停在另一个元素上时使元素出现并进行调整

当用户将鼠标悬停在另一个元素上时,无法显示弹出窗口元素

WPF-将鼠标悬停在另一个元素上时隐藏元素

如何在悬停另一个元素时更改一个元素的颜色?

如何使用css / Extjs将元素悬停在另一个元素上

将鼠标悬停在其中的另一个元素时,将图像更改为黑白

当将鼠标悬停在另一个事件上时,全日历会更改事件的颜色

jQuery将鼠标悬停在另一个div上时更改div的边框颜色

是否可以通过 CSS 悬停在另一个元素上来更改 img src

当另一个元素纯粹悬停在 css 中时,如何更改一个元素的样式属性?

将鼠标悬停在一个元素上会改变另一个元素吗?

将鼠标悬停在另一个元素上时如何激活 CSS 功能

将鼠标悬停在另一个元素上时如何向上滚动div

当悬停在另一个<li>上时,如何阻止我的<li>元素移动?

CSS::将鼠标悬停在元素上并定位另一个

CSS:将鼠标悬停在另一个元素上

将鼠标悬停在另一个元素上方的元素上时,CSS悬停不透明度转换会闪烁