html - CSS悬停下拉菜单,绝对位置?

标签 html wordpress css

描述这个问题的最好方法是用图片(不要介意荷兰语),我现在坚持这个: Example1

在第一个示例中,您可以看到红色下拉悬停线与父级在这种情况下。我想要的是这样的: Example2

我在示例 2 中的做法是使用元素检查并使用 margin-top (40px) 手动更改 Ul。这意味着我必须在接下来的几个菜单链接上设置 80px、120px 等。

有没有更简单的方法?

提前致谢!

最佳答案

相对于菜单容器 ( <ul> ) 而不是相对于菜单项 ( <li> ) 放置下拉菜单。

jsFiddle 上的一个简单示例.

相关 HTML:

<ul class="outer">
  <li>
    Beelden

    <ul class="sub-menu">
      <li>Geurkaarsen</li>
      <li>Rituele kaarsen</li>
      <li>Affirmatie kaarsen</li>
    </ul>
  </li>
</ul>

和CSS:

/* Your outer menu */
ul.outer {
  position: relative;
}

li {
  /* Whatever styles you set here, don't give it relative positioning */
}

ul.sub-menu {
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
}

现场演示:

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  height: 100vh;
}

body > ul {
  /* This next line is crucial */
  position: relative;
  background-color: #c5e2d8;
  width: 30%;
  height: 100%;
}

ul.sub-menu {
  display: none;
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
  background-color: tomato;
}

li {
  display: block;
  color: #444;
  padding: .5em;
  cursor: pointer;
}

  li.has-children::after {
    content: '▸';
    position: absolute;
    right: 5px;
  }
  
  li:hover {
    background-color: tomato;
  }
  
  li.has-children:hover ul {
    display: block;
  }
<ul>
  <li class="has-children">
    Beelden
    
    <ul class="sub-menu">
      <li>Geurkaarsen</li>
      <li>Rituele kaarsen</li>
      <li>Affirmatie kaarsen</li>
    </ul>
  </li>
  <li class="has-children">
    Kaarsen
    
    <ul class="sub-menu">
      <li>Sub-menu 2</li>
      <li>I don't know</li>
      <li>any Dutch</li>
    </ul>
  </li>
  <li>Wierook</li>
  <li>Kruiden</li>
  <li>Olien</li>
</ul>

关于html - CSS悬停下拉菜单,绝对位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43718643/

相关文章:

javascript - 让浏览器将txt解释为html

html - 打印时表格行背景颜色不显示

MySQL键值表一次更新多个ID的多行

CSS3 微调器、预加载器

javascript - 如何使用动画缩放 Canvas

html - 为什么 Firefox 以红色突出显示 HTML 过渡文档类型?

javascript - 如何将导航添加到模态

jquery - 固定定位的 div 不尊重相对定位的父级?

php - 尝试使用 PHP 在 Wordpress 中的 mySQL 中获取平均值,对象以数组形式返回,需要将其作为字符串

html - 如何使用自定义 wordpress 主题使 div 响应?