【问题标题】:I want a dropdown menu, but when I set the position "fixed" it doesn't work我想要一个下拉菜单,但是当我将位置设置为“固定”时它不起作用
【发布时间】:2019-01-11 03:54:35
【问题描述】:

我需要固定位置,我不知道如何将菜单与屏幕顶部对齐,我总是在屏幕边缘和菜单之间出现间隙。

html:

<ul>
  <li class="dropdown">
    <a href="javascript:void(0)" class="dropbtn">Monitor</a>
    <div class="dropdown-content">
      <a href="Index.html">Tube 1</a>
      <a href="#">Tube 2</a>
    </div>
  </li>
  <li><a href="Developer.html">Input</a></li>
  <li><a href="Information.html">Information</a></li>
  <li style="float:right" id="Credit"><a>Text</a></li>
</ul>

css:

ul {
  z-index: 1;
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #e7e7e7;
  background-color: #f3f3f3;
  top: 0;
  right: 0;
  width: 100%;
  font-family: "Arial Black";
  font-size: 16px;
}

li {
  float: left;
}

li a, .dropbtn {
  display: inline-block;
  color: #666;
  text-align: center;
  padding: 10px 16px;
  text-decoration: none;
}

li a:hover:not(.active), .dropdown:hover .dropbtn {
  background-color: #ddd;
}

li a.active {
  color: white;
  background-color: #008CBA;
}

li.dropdown {
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

.dropdown-content a:hover {background-color: #f1f1f1}

.dropdown:hover .dropdown-content {
  display: block;
}

当我将position: fixed; 添加到 ul 时,下拉菜单不再起作用,但是当我不添加它时,屏幕边缘和菜单之间出现了难看的间隙。

【问题讨论】:

    标签: html css menu


    【解决方案1】:

    你的身体有边距:8px。只需删除边距。添加CSS:

    body{
        margin: 0;
    }
    

    【讨论】:

    • 谢谢你,这有效。这是 html 的默认设置吗?我不知道这是一件事,谢谢你让我免于更多的挫折!
    • 没问题。你总是受到欢迎。 Margin 8px detail
    【解决方案2】:

    您还应该添加“位置:固定;”到下拉内容。

    ul {
      z-index: 1;
      list-style-type: none;
      margin: 0;
      padding: 0;
      overflow: hidden;
      border: 1px solid #e7e7e7;
      background-color: #f3f3f3;
      top: 0;
      right: 0;
      width: 100%;
      font-family: "Arial Black";
      font-size: 16px;
      position: fixed;
    }
    
    li {
      float: left;
    }
    
    li a, .dropbtn {
      display: inline-block;
      color: #666;
      text-align: center;
      padding: 10px 16px;
      text-decoration: none;
    }
    
    li a:hover:not(.active), .dropdown:hover .dropbtn {
      background-color: #ddd;
    }
    
    li a.active {
      color: white;
      background-color: #008CBA;
    }
    
    li.dropdown {
      display: inline-block;
    }
    
    .dropdown-content {
      display: none;
      position: fixed;
      background-color: #f9f9f9;
      min-width: 160px;
      box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
      z-index: 1;
    }
    
    .dropdown-content a {
      color: black;
      padding: 12px 16px;
      text-decoration: none;
      display: block;
      text-align: left;
    }
    
    .dropdown-content a:hover {background-color: #f1f1f1}
    
    .dropdown:hover .dropdown-content {
      display: block;
    }
    <ul>
      <li class="dropdown">
        <a href="javascript:void(0)" class="dropbtn">Monitor</a>
        <div class="dropdown-content">
          <a href="Index.html">Tube 1</a>
          <a href="#">Tube 2</a>
        </div>
      </li>
      <li><a href="Developer.html">Input</a></li>
      <li><a href="Information.html">Information</a></li>
      <li style="float:right" id="Credit"><a>Text</a></li>
    </ul>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>
    <p>p</p>

    【讨论】:

      猜你喜欢
      • 2018-11-05
      • 2021-04-26
      • 1970-01-01
      • 2021-10-14
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      相关资源
      最近更新 更多