【问题标题】:Background color does not cover entire <a>-element when hovered悬停时背景颜色不覆盖整个 <a> 元素
【发布时间】:2017-11-16 19:20:46
【问题描述】:

我目前正在编写一个导航栏,当链接悬停时,-element 的背景颜色会发生变化。目前,导航栏下拉菜单中的背景颜色并没有覆盖整个“框”。

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: black;
}

ul li {
  display: inline-block;
  position: relative;
  background-color: black;
}

ul li a {
  display: block;
  color: white;
  text-decoration: none;
  text-align: center;
  margin: -left:0;
  padding: 15px 25px;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}

ul li a:hover {
  background-color: #333;
}

ul li ul#dropdowncontent {
  display: inline-block;
  position: absolute;
  text-align: center;
  min-width: 100%;
  font-size: 70%;
  z-index: 999;
  width: 90px;
}
<ul>
  <li><a href="#">Produkter</a>
    <ul id="dropdowncontent">
      <li><a href="#">Moderkort</a></li>
      <li><a href="#">Processorer</a></li>
      <li><a href="#">Hårddiskar</a></li>
      <li><a href="#">Grafikkort</a></li>
    </ul>
  </li>
  <li><a href="#">Butiker</a></li>
  <li><a href="#">Kontakt</a></li>
  <li><a href="#">Vanliga frågor</a></li>
</ul>

你也可以看看这个 Jsfiddle 中的代码:https://jsfiddle.net/fdvcmnx6/

【问题讨论】:

    标签: css


    【解决方案1】:

    将下拉列表项设置为display: block

    #dropdowncontent li {
        display: block;
    }
    

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
    }
    
    ul {
      list-style-type: none;
      margin: 0;
      padding: 0;
      background-color: black;
    }
    
    ul li {
      display: inline-block;
      position: relative;
      background-color: black;
    }
    
    ul li a {
      display: block;
      color: white;
      text-decoration: none;
      text-align: center;
      margin: -left:0;
      padding: 15px 25px;
      -webkit-transition-duration: 0.4s;
      transition-duration: 0.4s;
    }
    
    ul li a:hover {
      background-color: #333;
    }
    
    ul li ul#dropdowncontent {
      display: inline-block;
      position: absolute;
      text-align: center;
      min-width: 100%;
      font-size: 70%;
      z-index: 999;
      width: 90px;
    }
    
    /* Additional */
    
    #dropdowncontent li {
        display: block;
    }
    <ul>
      <li><a href="#">Produkter</a>
        <ul id="dropdowncontent">
          <li><a href="#">Moderkort</a></li>
          <li><a href="#">Processorer</a></li>
          <li><a href="#">Hårddiskar</a></li>
          <li><a href="#">Grafikkort</a></li>
        </ul>
      </li>
      <li><a href="#">Butiker</a></li>
      <li><a href="#">Kontakt</a></li>
      <li><a href="#">Vanliga frågor</a></li>
    </ul>

    【讨论】:

      【解决方案2】:

      设置您的下拉列表width:100%

      #dropdowncontent li {
          display: block;
      }
      

      【讨论】:

        猜你喜欢
        • 2022-01-26
        • 2012-12-26
        • 2014-10-29
        • 2020-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-29
        相关资源
        最近更新 更多