html - 悬停时显示div

标签 html css

<分区>

我有一个看起来像这样的菜单

   <nav role="navigation" class="small--hide">
    <ul class="site-nav">
        <li class="has-desktop-dropdown collection-dropdown">Link 1</li>
        <li>Link 2</li>
         <li class="has-desktop-dropdown journal-dropdown">Link 3</li>
    </ul>
   </nav>

现在我想要一个 div 在列表项之一悬停时显示

<div class="desktop-dropdown collection-dropdown-menu small--hide">
 <p>Some content</p>
</div>
<div class="desktop-dropdown journal-dropdown-menu small--hide">
 <p>Some content</p>
</div>

我一直在尝试使用的 Css 是这样的:

  .collection-dropdown:hover  ~ .collection-dropdown-menu {
    display:block;
  }
  .journal-dropdown:hover ~ .journal-dropdown-menu {
    display:block;
  }

但悬停时不显示 div。知道我做错了什么吗?

Fiddle

最佳答案

这样是行不通的。在 CSS sibling 中表示特定 dom 元素的相邻元素。在您的问题中,collection-dropdown 没有类 collection-dropdown-menu 的兄弟。

.collection-dropdown-menu, .journal-dropdown-menu {
  display: none;
}
.navigation {
  cursor: pointer;
}
.navigation:hover  ~ .collection-dropdown-menu, 
.navigation:hover ~ .journal-dropdown-menu {
  display:block;
}
 <nav role="navigation" class="navigation small--hide">
    <ul class="site-nav">
        <li class='has-desktop-dropdown collection-dropdown'>Link 1</li>
        <li>Link 2</li>
        <li class='has-desktop-dropdown journal-dropdown'>Link 3</li>
    </ul>
</nav>
<div class="desktop-dropdown collection-dropdown-menu small--hide">
 <p>Some content</p>
</div>
<div class="desktop-dropdown journal-dropdown-menu small--hide">
 <p>Some content</p>
</div>

请看这是如何工作的

在此示例中,具有类名 .navigationnav 具有兄弟 collection-dropdown-menujournal-dropdown-menu 。但这些不是 collection-dropdown 的同级元素,后者是 navigation 的内部元素。所以我在 navigation 中添加了 hover 样式,这样就可以了

关于html - 悬停时显示div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51631787/

上一篇:javascript - webpack - 如何处理来自 node_modules 文件夹的文件

下一篇:javascript - 如何在clear js中检查页面滚动

相关文章:

HTML/CSS 导航栏格式问题

javascript - 从 PHP 填充选择下拉列表

c# - 在 MVC5 View 中更改按钮样式

javascript - 禁用文本框时如何在 jquery 中禁用此上下文菜单

jquery - 设置 cookie 弹出窗口

html - 将背景应用于 HTML 表单不起作用

javascript - 使用按钮计算表单的值

javascript - 在谷歌浏览器中刷新后复选框未选中

CSS:更改 HREF 中的垂直文本位置

jquery - 使用 jquery 删除标签上的所有类并添加新的