html - 下拉子菜单未按预期显示

标签 html css

我正在尝试在 html 导航菜单中创建子菜单。菜单正在出现,但它显示在菜单列表中而不是右侧。我已经对问题进行了截图,如果有人可以帮助我调整我的代码,我将不胜感激。

您将从屏幕截图中看到,子菜单出现在主菜单中,而不是位于所选链接的右侧。

我已经尝试了很多选项,所以我需要向专家寻求帮助。 非常感谢

.menu {
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 0;
  background: #0c323f;
  position: static;
}

.navigation {
  list-style: none;
  padding: 0;
  margin: 0;
  background: rgb(58, 58, 58);
  font-size: 16px;
}

.navigation li {
  float: left;
}

.navigation li:hover {
  background: #1a4655;
}

.navigation li:first-child {
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 0 0 5px;
}

.navigation li a {
  display: block;
  padding: 0 20px;
  text-decoration: none;
  line-height: 40px;
  color: #fff;
}

.navigation ul {
  display: none;
  position: absolute;
  list-style: none;
  margin-left: -3px;
  padding: 0;
  overflow: hidden;
}

.navigation ul li {
  float: none;
}

.navigation li:hover>ul {
  display: block;
  background: #1a4655;
  /*          border: solid 3px #fff;*/
  border-top: 0;
  -webkit-border-radius: 0 0 8px 8px;
  border-radius: 0 0 8px 8px;
  -webkit-box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.25);
  position: absolute;
}

.navigation li:hover>ul li:hover {
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
}

.navigation li li a:hover {
  background: #0c323f;
  color: white;
}

.navigation ul li:last-child a,
.navigation ul li:last-child a:hover {
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
}
<div class="menu">
  <ul class="navigation">
    <li><a href="/domain/admin/index.php" title="Home">Home</a></li>
    <li><a href="/domain/admin/test.php" title="Requests">Requests</a>
      <ul>
        <li><a href="" title="Boxes">Boxes</a>
          <ul>
            <li><a href="" title="Files">Files</a></li>
            <li><a href="" title="Recycle">Recycle</a></li>
            <li><a href="" title="Box Supply">Box Supply</a></li>
          </ul>
        </li>
        <li><a href="" title="Files">Files</a></li>
        <li><a href="" title="Recycle">Recycle</a></li>
        <li><a href="" title="Box Supply">Box Supply</a></li>
        <li><a href="" title="Recycle">Recycle</a></li>
        <li><a href="" title="Destruction">Destruction</a></li>
        <li><a href="" title="Destruction Schedules">Destruction Schedules</a></li>
      </ul>
    </li>
    <li><a href="" title="Reports">Reports</a></li>
    <li><a href="" title="Invoices">Invoices</a></li>
    <li><a href="/domain/admin/cp.php" title="Control Panel">Control Panel</a></li>
    <li><a href="/domain/admin/logout.php" title="Logout">Logout</a></li>

  </ul>
  <div class="clear"></div>
</div>

图片截图

普通下拉

Normal dropdown

子菜单显示问题

sub menu showing problem

最佳答案

使用top:0left:100%到二级子菜单

堆栈片段

.menu {
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 0;
  background: #0c323f;
  position: static;
}

.navigation {
  list-style: none;
  padding: 0;
  margin: 0;
  background: rgb(58, 58, 58);
  font-size: 16px;
}

.navigation li {
  float: left;
}

.navigation li:hover {
  background: #1a4655;
}

.navigation li:first-child {
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 0 0 5px;
}

.navigation li a {
  display: block;
  padding: 0 20px;
  text-decoration: none;
  line-height: 40px;
  color: #fff;
}

.navigation ul {
  display: none;
  position: absolute;
  list-style: none;
  margin-left: -3px;
  padding: 0;
}

.navigation ul ul {
  left: 100%;
  top: 0;
}

.navigation ul li {
  float: none;
}

.navigation li:hover>ul {
  display: block;
  background: #1a4655;
  /*          border: solid 3px #fff;*/
  border-top: 0;
  -webkit-border-radius: 0 0 8px 8px;
  border-radius: 0 0 8px 8px;
  -webkit-box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.25);
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.25);
  position: absolute;
}

.navigation li:hover>ul li:hover {
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
}

.navigation li li a:hover {
  background: #0c323f;
  color: white;
}

.navigation ul li:last-child a,
.navigation ul li:last-child a:hover {
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
}
<div class="menu">
  <ul class="navigation">
    <li><a href="/domain/admin/index.php" title="Home">Home</a></li>
    <li><a href="/domain/admin/test.php" title="Requests">Requests</a>
      <ul>
        <li><a href="" title="Boxes">Boxes</a>
          <ul>
            <li><a href="" title="Files">Files</a></li>
            <li><a href="" title="Recycle">Recycle</a></li>
            <li><a href="" title="Box Supply">Box Supply</a></li>
          </ul>
        </li>
        <li><a href="" title="Files">Files</a></li>
        <li><a href="" title="Recycle">Recycle</a></li>
        <li><a href="" title="Box Supply">Box Supply</a></li>
        <li><a href="" title="Recycle">Recycle</a></li>
        <li><a href="" title="Destruction">Destruction</a></li>
        <li><a href="" title="Destruction Schedules">Destruction Schedules</a></li>
      </ul>
    </li>
    <li><a href="" title="Reports">Reports</a></li>
    <li><a href="" title="Invoices">Invoices</a></li>
  </ul>
  <div class="clear"></div>
</div>

关于html - 下拉子菜单未按预期显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48475453/

相关文章:

html - 使用 css 在 ul 中定位特定的 M3

javascript - 如何将json从一种格式转换为另一种格式?

javascript - 如何从 Ajax 后回调 Symfony 3 更新表

html - 如何消除具有相同背景颜色的三个 div 之间的奇怪间隙?

HTML/CSS3 - 对齐文本问题

javascript - 在 IE 11 中通过 AJAX 发布表单

CSS :hover on link without following (Mobile)

javascript - 未选中时如何屏蔽表单输入字段?

javascript - 将照度转换为十六进制颜色

html - 图像 slider 有不需要的间隙