当悬停在下拉项目上时,导航项目移动slighlty

时间:2018-04-23 15:16:31

标签: html css navbar

下面是我制作的简单导航栏的html代码。我的问题是,当我将鼠标悬停在产品链接上以显示下拉项目时,所有其他导航栏项目都会向左移动。我意识到我可能会以错误的方式解决这个问题,因为我还在学习。



.main-nav {
  border: 1px solid blue;
  text-align: center;
  display: block;
  position: absolute;
  width: 100%;
}

.main-nav li {
  display: inline-block;
  margin-right: 20px;
  border: 1px solid orange;
}

.main-nav ul {
  list-style: none;
  display: block;
  grid-gap: 10px;
}

.products li {
  display: block;
  border: 1px solid black;
}

.products-list a {
  border: 1px solid purple;
  height: auto;
  display: block;
  margin-top: 20px;
}

.products a {
  display: none;
}

.products {
  position: absolute;
}

.products-list:hover .products a {
  display: block;
}

<div class="wrapper">
  <nav class="main-nav">
    <ul>
      <li><a href="#">HOME</a></li>
      <li><a href="#">ABOUT</a></li>
      <li class="products-list"><a href="#">PRODUCTS</a>
        <ul class="products">
          <li><a href="#">item1</a></li>
          <li><a href="#">item2</a></li>
          <li><a href="#">item3</a></li>
          <li><a href="#">item4</a></li>
        </ul>
      </li>
      <li>
        <li><a href="#">SERVICES</a></li>
        <li><a href="#">CONTACT</a></li>

    </ul>
  </nav>

  <!--   wrapper ends   -->
</div>
&#13;
&#13;
&#13;

注意:我已经给某些元素一个边框来帮助我定位它们。

1 个答案:

答案 0 :(得分:0)

你在服务

之前添加了额外的li

.main-nav {
  border: 1px solid blue;
  text-align: center;
  display: block;
  position: absolute;
  width: 100%;
}

.main-nav li {
  display: inline-block;
  margin-right: 20px;
  border: 1px solid orange;
}

.main-nav ul {
  list-style: none;
  display: block;
  grid-gap: 10px;
}

.products li {
  display: block;
  border: 1px solid black;
}

.products-list a {
  border: 1px solid purple;
  height: auto;
  display: block;
  margin-top: 20px;
}

.products a {
  display: none;
}

.products {
  position: absolute;
}

.products-list:hover .products a {
  display: block;
}
<div class="wrapper">
  <nav class="main-nav">
    <ul>
      <li><a href="#">HOME</a></li>
      <li><a href="#">ABOUT</a></li>
      <li class="products-list"><a href="#">PRODUCTS</a>
        <ul class="products">
          <li><a href="#">item1</a></li>
          <li><a href="#">item2</a></li>
          <li><a href="#">item3</a></li>
          <li><a href="#">item4</a></li>
        </ul>
      </li>
      <li><a href="#">SERVICES</a></li>
      <li><a href="#">CONTACT</a></li>
    </ul>
  </nav>
  <div>