悬停时li的背景颜色无法正常工作

我的简单水平导航栏有一个特定的问题。当我为整个ul设置background-color时,我仅在悬停上更改了文本,而没有更改背景。我试图设置li:hover和a:hover,但是一切都一样。例如,当我为background-color属性设置不同的颜色(黑色,红色...)时,一切都很好,但是使用rgba值时,它在大于600px的屏幕上不起作用。我希望对两者都具有相同的效果,并且仅设置不同的颜色会造成问题,如我所见。有人可以告诉我我的错误在哪里,我该如何解决?

这是我的密码

  body {
  margin: 0;
  padding: 0;
  font-family: "Trebuchet MS", Helvetica, sans-serif;
}

.item2 {
  grid-area: navbar;
}

.item2 ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.item2 ul li>a {
  display: block;
  text-decoration: none;
  text-align: center;
  color: ivory;
  padding: 5px;
  border-bottom: 1px solid saddlebrown;
  background-color: rgb(44, 33, 30);
}

.item2 li a:hover {
  color: sandybrown;
  background-color: rgba(44, 33, 30, 0.8);
}

@media only screen and (min-width: 600px) {
  .item2 ul {
    overflow: hidden;
    background-color: rgb(44, 33, 30);
  }
  .item2 ul li {
    display: inline;
    float: left;
  }
  .item2 ul li>a {
    display: inline-block;
    padding: 12px;
    border-right: 1px solid saddlebrown;
    background-color: rgb(44, 33, 30);
  }
  .item2 li:hover a {
    background-color: rgba(44, 33, 30, 0.8);
    color: sandybrown;
  }
<div class="item2">
  <ul>
    <li><a href="#">Biographie</a></li>
    <li><a href="#">Œuvre</a></li>
    <li><a href="#">L'homme politique</a></li>
    <li><a href="#">Postérité</a></li>
  </ul>
</div>
评论
vsit
vsit

您:hover的选择器太弱了:它应该类似于无悬浮物:

.item2 ul li > a {}
.item2 ul li > a:hover {}

这对我很好:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>

    body {
      margin: 0;
      padding: 0;
      font-family: "Trebuchet MS", Helvetica, sans-serif;
    }

    .item2 {
      grid-area: navbar;
    }

    .item2 ul {
      list-style-type: none;
      margin: 0;
      padding: 0;
    }

    .item2 ul li > a {
      display: block;
      text-decoration: none;
      text-align: center;
      color: ivory;
      padding: 5px;
      border-bottom: 1px solid saddlebrown;
      background-color: rgb(44, 33, 30);
    }

    .item2 ul li > a:hover {
      color: sandybrown;
      background-color: red;
    }

    @media only screen and (min-width: 600px) {
      .item2 ul {
        overflow: hidden;
        background-color: rgb(44, 33, 30);
      }

      .item2 ul li {
        display: inline;
        float: left;
      }

      .item2 ul li > a {
        display: inline-block;
        padding: 12px;
        border-right: 1px solid saddlebrown;
        background-color: rgb(44, 33, 30);
      }

      .item2 ul li > a:hover {
        background-color: yellow;
        color: sandybrown;
      }
    }

  </style>
</head>
<body>


<div class="item2">
  <ul>
    <li><a href="#">Biographie</a></li>
    <li><a href="#">Œuvre</a></li>
    <li><a href="#">L'homme politique</a></li>
    <li><a href="#">Postérité</a></li>
  </ul>
</div>

</body>
</html>
点赞
评论