html - 悬停菜单不起作用时显示/隐藏内容

标签 html css hover

无法解决这个问题。我想悬停菜单元素,当我悬停它时它会显示画廊类。

我确实放了 .gallery class display: none; 和 .main_menu ul li a:hover + .gallery

应该将图库显示更改为阻止,但它就是不显示 ;)

菜单和图库的 HTML

<div class="main_menu">
<ul>
   <li><a href="#" class="shop">shop</a></li>
   <li><a href="#">collections </a></li>
   <li><a href="#">gifts</a></li>
   <li><a href="#">moodboard</a></li>
   <li><a href="#">blog</a></li>
</ul><br />
</div>

<!--gallery hover-->
<div class="gallery">
    <div class="item1">
    <img src="images/item_1.png" width="166" height="129" class="item_1" alt="*" />
    <div class="description">
    <span>Artwork</span>
    </div>
</div>
<div class="item2">
   <img src="images/item_2.png" width="166" height="129" class="item_1" alt="*" />
<div class="description">
    <span>Bedding</span>
</div>
 </div>

CSS

.gallery{
    position:absolute;
    top: 110px;
    left:0px;
    background-color: #f4f4f4;
    width: 980px;
    min-height: 300px;
    z-index: 3;
    padding: 20px 10px 20px 10px;
    display: none;
}

.main_menu ul li a:hover + .gallery {
    display: block;
}

最佳答案

+ .gallery是兄弟选择器,所以 .gallery元素需要是具有 :hover 的元素的兄弟元素选择器。

您需要更改 .gallery 的位置或更改触发 :hover 的元素。

链接是一个demo fiddle显示了几个选项。

首先,<div class="gallery">已被移动为类 .shop 的第一个 anchor 标记的同级.

在第二个示例中,选择器已更改为:.main_menu2:hover + .gallery2这样整个菜单上的任何悬停都会触发 .gallery2 的显示.

希望这能让您更好地了解兄弟选择器如何与 :hover 一起工作。您可以将其调整为适合您需要的东西。

关于html - 悬停菜单不起作用时显示/隐藏内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18619516/

相关文章:

jquery - 检查鼠标是否位于元素上方 jQuery

css - 将文本 float 到文本区域的右侧

WPF TreeView 悬停时突出显示行

html - 响应式布局不会在短屏幕中垂直滚动

html - 从请求中选择输入值

jquery - 使用 jquery 将高度添加到带有 !important 在 css 中的 div

javascript - DropDown 放置在其他元素 css 的顶部

html - CSS 图像缩放和悬停居中

javascript - 如何防止从网页下载图像

html - 将表格基础设计转换为无表格设计的工具