将鼠标悬停在一个导航链接上更改所有导航链接



我正在尝试从这个网站复制导航菜单。我已经设法在一定程度上工作,但是当悬停以保持相同的颜色而所有其他颜色时,无法使服务链接保持不变。

.header {
  display: flex;
  width: 100%;
}
.nav {
  width: 80%;
  margin: auto;
  position: relative;
}
.nav a {
  color: #000;
}
.nav ul {
  list-style: none;
  padding: 0;
  width: fit-content;
}
.nav ul:hover a{
  color: #eee !important;
  padding-bottom: 20px;
}
.nav ul li:hover a {
  color: #333;
  padding-bottom: 20px;
}
.nav li:last-child {
  margin: 0;
}
.nav ul li {
  display: inline-block;
  margin: 0 35px 0 0;
}
.three:hover>.sub-menu {
  display: flex;
  opacity: 1
}
.sub-menu {
  height: 200px;
  display: flex;
  flex-direction: row;
  position: absolute;
  top: 100%;
  background: #333;
  display: none;
  opacity: 0;
  left: 0;
  right: 0;
}
<div class="header">
  <div class="nav">
    <ul>
      <li>
        <a class="one">Home</a>
      </li>
      <li>
        <a class="two">About</a>
      </li>
      <li class="three">
        <a class="">Services</a>
        <div class="sub-menu">
          <div class="col-1-4"></div>
        </div>
      </li>
      <li>
        <a class="four">Contact</a>
      </li>
    </ul>
  </div>
</div>

如您所见,我已经在无序列表的悬停上更改了链接颜色,这可能不是尝试使其工作的最佳方式。拜托,有人可以建议我解决此问题的最佳方法吗?

你很接近 - 你必须从影响.nav ul:hover a的规则中删除!important,因为这将覆盖确保悬停项目与其他项目不同的颜色的规则:

.header {
  display: flex;
  width: 100%;
}
.nav {
  width: 80%;
  margin: auto;
  position: relative;
}
.nav a {
  color: #000;
}
.nav ul {
  list-style: none;
  padding: 0;
  width: fit-content;
}
.nav ul:hover a{
  color: #eee;
  padding-bottom: 20px;
}
.nav ul li:hover a {
  color: #333;
  padding-bottom: 20px;
}
.nav li:last-child {
  margin: 0;
}
.nav ul li {
  display: inline-block;
  margin: 0 35px 0 0;
}
.three:hover>.sub-menu {
  display: flex;
  opacity: 1
}
.sub-menu {
  height: 200px;
  display: flex;
  flex-direction: row;
  position: absolute;
  top: 100%;
  background: #333;
  display: none;
  opacity: 0;
  left: 0;
  right: 0;
}
<div class="header">
  <div class="nav">
    <ul>
      <li>
        <a class="one">Home</a>
      </li>
      <li>
        <a class="two">About</a>
      </li>
      <li class="three">
        <a class="">Services</a>
        <div class="sub-menu">
          <div class="col-1-4"></div>
        </div>
      </li>
      <li>
        <a class="four">Contact</a>
      </li>
    </ul>
  </div>
</div>

这里有一个很好的资源,说明!important如何影响页面上的其他规则。

相关内容

  • 没有找到相关文章

最新更新