【问题标题】:Hide a container when Hover a menu item CSS悬停菜单项 CSS 时隐藏容器
【发布时间】:2021-03-20 06:18:58
【问题描述】:

我的网站:https://nycphoto.pixl.work/delete/

当 Photo Booth 菜单悬停时,我想在标题下隐藏一个容器。你可以在这里查看:

Photo Booth 菜单项的 ID:#menu-item-7912 Header下的容器ID:#mega-menu-customized

到目前为止,我已经尝试了以下方法:

.menu-item.menu-item-7912:hover + #mega-menu-customized{
font-size: 90px !important;
background-color: blue !important;
display: none !important;
}

这不起作用。

是否可以使用 CSS 来隐藏 Mega 菜单容器?

【问题讨论】:

  • 您将需要 JS 来执行此操作。在#menu-item-7912 悬停事件上,您可以切换#mega-menu-customized div 的类。
  • “+ 组合器选择相邻的兄弟元素。这意味着第二个元素直接跟在第一个元素之后,并且都共享同一个父元素。” - 换句话说:请添加您的 html...
  • @A.Meshu html是由主题创建的,站点是在Wordpress上使用主题完成的,所以分享代码是一团糟。
  • @RinkeshGolwala 我将尝试使用 JS,可能这就是它不起作用的原因
  • @RinkeshGolwala 我已经这样做了,但没有成功: 我在 JSFiddle 上测试了这段代码并且可以工作,但不能在我的网站上:nycphoto.pixl.work

标签: css


【解决方案1】:

检查这个例子。

我在 div1 悬停时切换 div2 上的 hide 类。

let div1 = document.getElementById('div1');
let div2 = document.getElementById('div2');

div1.addEventListener('mouseover', () => {
  div2.classList.add("hide");
});

div1.addEventListener('mouseleave', () => {
  div2.classList.remove("hide");
});
div {
  height: 100px;
  width: 100px;
  border: 1px dashed red;
  margin: 10px;
}

#div1 {
  background: #66000040;
}

#div2 {
  background: #00660040;
}

.hide {
  display: none;
}
<section>
<div id='div1'>div 1</div>
<div id='div2'>div 2</div>
</section>

【讨论】:

  • 谢谢!我在 Jsfiddle 上检查了它,效果很好。不幸的是,它在我的网站上不起作用。我不确定是否有东西阻止了 javascript。我还尝试了以下方法:
  • @Alejo_Blue 尝试包含来自其他 CDN 服务(例如 cdnjs.com)的 jquery
  • 在这种情况下,您还需要共享您的代码
  • 嘿!这个给了我一个如何实现的想法,我使用了你的大部分代码,但我必须像这样初始化 jQuery(document).ready(function(){ 感谢兄弟
猜你喜欢
  • 2014-09-05
  • 2013-04-19
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多