我正在试着建一个导航台.事情是这样的.我想要做的是,当鼠标悬停在它们的容器上时,改变菜单图标和单词"Menu"的 colored颜色 . 我使用背景 colored颜色 来构建这个图标,所以我不能简单地通过更改背景 colored颜色 来更改图标.否则,整个容器的背景将为蓝色.

.nav-item{
  display: inline-block;
  vertical-align: middle;
  height: 60px;
  margin: 5px;
}

#primary-logo{
    height: 50px;
}

.navbar{
    border-top: 1px solid gray;
    border-bottom: 1px solid gray;
}

.nav-list{
    list-style-type: none;
    padding-left: 0px;
    display: flex;
    align-items: center;
    padding-bottom: 5px;
    gap: 24px;
}

.menu-line{
    width: 34px;
    height:5px;
    background-color: black;
    margin: 6px 0px;
}
.menu-item{
    display: inline-block;
    vertical-align: middle;
}
.menu-sec:hover{
    color: rgb(39, 42, 202);
    cursor: pointer;
}
.menu-line:hover{
    width: 34px;
    height:5px;
    background-color: rgb(39, 42, 202);
    margin: 6px 0px;
}
<nav>
<div class="nav-item">
  <img
    id="primary-logo"
    src="800px-The_Economist_Logo.svg.png"
    alt="Economist Logo"
  />
</div>
<div class="navbar nav-item">
  <ul class="nav-list">
    <li class="menu-sec">
      <div class="menu-item"> <!-- menu icon -->
        <div class="menu-line"></div>
        <div class="menu-line"></div>
        <div class="menu-line"></div>
      </div>
      <div class="menu-item">Menu</div>
    </li>
    <li>Weekly edition</li>
    <li>Search</li>
  </ul>
</div>
</nav>

推荐答案

你可以这样做,如下所示.我添加了这行.menu-sec:hover .menu-line {background-color: rgb(39, 42, 202)}.我还删除了一些重复的行.

.nav-item {
  display: inline-block;
  vertical-align: middle;
  height: 60px;
  margin: 5px;
}

#primary-logo {
  height: 50px;
}

.navbar {
  border-top: 1px solid gray;
  border-bottom: 1px solid gray;
}

.nav-list {
  list-style-type: none;
  padding-left: 0px;
  display: flex;
  align-items: center;
  padding-bottom: 5px;
  gap: 24px;
}

.menu-line {
  width: 34px;
  height: 5px;
  background-color: black;
  margin: 6px 0px;
}
.menu-item {
  display: inline-block;
  vertical-align: middle;
}
.menu-sec:hover {
  color: rgb(39, 42, 202);
  cursor: pointer;
}
.menu-sec:hover .menu-line {
  background-color: rgb(39, 42, 202);
}
<nav>
  <div class="nav-item">
    <img id="primary-logo" src="800px-The_Economist_Logo.svg.png" alt="Economist Logo" />
  </div>
  <div class="navbar nav-item">
    <ul class="nav-list">
      <li class="menu-sec">
        <div class="menu-item">
          <!-- menu icon -->
          <div class="menu-line"></div>
          <div class="menu-line"></div>
          <div class="menu-line"></div>
        </div>
        <div class="menu-item">Menu</div>
      </li>
      <li>Weekly edition</li>
      <li>Search</li>
    </ul>
  </div>
</nav>

Html相关问答推荐

我已经在我的网站上创建了按钮,但我不能让它们正确排列.'

Select 包含iframe的图形<><>

UseEffect()从不调用preact

使用无限数量的元素创建特定的CSS网格

在悬停时应用文本装饰

Bootstrap 5.3.2模式页脚左填充还是左边距?

有没有什么方法可以很容易地给一个SVG一个插框阴影?

如何设计缠绕锚点元素的样式?

减小HTML负载中base64字符串的大小

为什么字体大小而不是 colored颜色 属性适用于元素?

如何防止滑动滚动元素时touch 屏出现空白区域?

如果使用复选框属性更改,如何防止事件更改?

如何配置 prettier 使其以 Vue.js 模板语法的特定方式运行?

如何在 Flex 对齐内容框下显示隐藏按钮和文本

如何将元素均匀分布到容器的边缘?

两部分问题 - 是什么导致了这个空白?

当我将鼠标悬停在测试类上时,左侧类的 colored颜色 没有改变

Css 左属性问题

Header 或 P 标记中的填充不能与 em 单元一起正常工作

如何在没有 JS 的情况下创建带搜索的 Select 菜单