html - 当我将鼠标悬停在下拉菜单上时,我怎样才能让它停留在那里?

标签 html css

我有以下下拉菜单:

<div id="header">
  <div class="container">
    <ul class="navigation">
      <li>
        <a href=""></a>
        <ul class="sub-menu">
          <li></li>
        </ul>
      </li>
    </ul>
  </div>
</div>

#header .navigation {
    float: right;
    margin: 15px 0 0;
    position: relative;
}
#header .navigation li {
    float: left;
    margin: 0 20px 0 0;
    position: relative;
}
#header .navigation li a {
    float: left;
}
#header .navigation li:hover .sub-menu {
    display: block;
    transition: all 0.0s ease 0s;
}
#header .navigation > li > .sub-menu {
    display: none;
    width: 150px;
    transition: all 0.0s ease 0.2s;
    padding: 10px 15px 2px;
    position: absolute;
    top: 20px;
    left: 0;
}
#header .navigation > li > .sub-menu li {
    clear: both;
    margin: 0 0 10px;
    width: 100% ;
}
#header .sub-menu .sub-menu li {
    padding: 10px 0 0 15px;
    margin: 0 !important;
}

问题是 .sub-menu 在我离开父菜单后立即消失了。我怎样才能使 .sub-menu 在我悬停时保持原样?

这是一个活生生的例子:http://m2c.dreamhosters.com/wordpress/

最佳答案

需要注意两点:

  • 在链接本身上放置任何填充,因为您不希望顶部 li 和子 ul
  • 之间有任何间隙
  • 确保子 ul 整齐地塞在顶部 li 的底部,顶部:100%。 (这样可以防止它们之间出现任何间隙。

例如

#header .navigation {
    float: right;
    margin: 15px 0 0;
    position: relative;
}
#header .navigation li {
    float: left;
    margin: 0 20px 0 0;
    position: relative;
}
#header .navigation li a {
    float: left;
}
#header .navigation li:hover .sub-menu {
    display: block;
    transition: all 0.0s ease 0s;
}
#header .navigation li .sub-menu {
    display: none;
    width: 150px;
    transition: all 0.0s ease 0.2s;
    position: absolute;
    top: 100%;
    left: 0;
}
#header .navigation > li > .sub-menu li {
    clear: both;
    width: 100%;
}


ul, li {list-style: none; padding: 0; margin: 0;}
<div id="header">
<ul class="navigation">
  <li>
    <a href="">link</a>
    <ul class="sub-menu">
      <li>text</li>
    </ul>
  </li>
</ul>
</div>

关于html - 当我将鼠标悬停在下拉菜单上时,我怎样才能让它停留在那里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27538679/

相关文章:

javascript - 如何使阅读项目在滚动时保持在同一位置

javascript - 如果通过网页安装的应用程序在 Safari 中如何打开?

html - 使用 CSS 淡化元素的顶部

javascript - 我正在尝试使用 jquery ajax 淡入和淡出 css 背景颜色?

html - 什么会导致粗体标记 <b> 被忽略?

html - 标签式导航

css - 将相对 div 的代码放在绝对 div 的代码之上,导致相对 div 不显示

jquery - 如何使html表格垂直滚动

css - 悬停时的 svg 过滤器在 safari 和 chrome 中不起作用

php - php 中的标志如何确定正在访问或调用 CSS/JS?