【问题标题】:Can't get sidebar nav to display properl无法正确显示侧边栏导航
【发布时间】:2017-03-19 19:30:30
【问题描述】:

我无法让我的孩子<ul> 正常显示。当下拉菜单打开时,它会显示在菜单的其余部分下方。我想要的是 <li> 的其余部分向下移动以为下拉菜单腾出空间。

HTML:

<ul class="nav">
  <li>One</li>
  <li>Two
    <ul>
      <li>Two One</li>
      <li>Two Two</li>
    </ul>
  </li>
  <li>
    Three
    <ul>
      <li>Four</li>
      <li>Five</li>
    </ul>
  </li>
</ul>

CSS:

.nav {
  width: 250px;
  font-size: 18px;
  color: white;
  list-style: none;
  display: block;
  z-index: 2;
}

.nav li {
  background-color: #000;
  display: block;
  height: 40px;
  line-height: 40px;
  text-align: center;
}

.nav li:hover {
  background-color: #008cba;
}

.nav ul {
  display: none;
  font-size: 16px;
  z-index: 3;
}

.nav ul li {
  background-color: #cccccc;
  color: #000;
  border-bottom: #464646 solid 1px;
}

.nav ul li:hover {
  background-color: #464646;
}

.active {
  display: initial!important;
  tranistion: 0.5s;
}

jQuery:

$(document).ready(function() {
  $("ul.nav li ").click(function() {
    $(this).find("ul").toggleClass("active");
  });
});

【问题讨论】:

标签: javascript jquery html css sass


【解决方案1】:

你应该:

  • 将“位置:相对”添加到您的“.nav ul”
  • 从“.nav li”中删除“height: 40px”
  • 将“.active”类从“display: initial !important”更改为“display: block !important”

以下是相关类:

.nav li {
  background-color: #000;
  display: block;
  line-height: 40px;
  text-align: center;
}

.nav ul {
  display: none;
  font-size: 16px;
  z-index: 3;
  position: relative;
}

.active {
  display: block !important;
  transition: 0.5s;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-31
    • 2010-10-15
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 2017-09-19
    相关资源
    最近更新 更多