html - CSS 使特定的图像出现在特定的导航栏悬停上

标签 html css

我需要做到这一点,如果我有一个包含“家”、“石油”、“煤炭”和“天然气”的导航栏,当我将鼠标悬停在石油上时,它会使该框的背景图像变成一个油滴或其他东西,如果我将鼠标悬停在煤炭上,该特定框中将显示煤炭的背景图片。

到目前为止,这是我的代码,但无论我将鼠标悬停在什么地方,它目前都显示相同的图像(油):

#NavBar ul {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #333;
}
#NavBar li {
  width: 100px;
  float: left;
}
#NavBar li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  -o-transition: .5s;
  -ms-transition: .5s;
  -moz-transition: .5s;
  -webkit-transition: .5s;
  transition: .5s;
}
#NavBar a:hover {
  background-color: #111;
  background-image: url("billeder/olie_navbar.png");
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: center;
}
<div id="NavBar">
  <ul>
    <li><a href="index.html">Hjem</a>
    </li>
    <li><a href="olie.html">Olie</a>
    </li>
    <li><a href="kul.html">Kul</a>
    </li>
    <li><a href="naturgas.html">Naturgas</a>
    </li>
  </ul>
</div>

最佳答案

您需要为导航中的每个元素创建一个 ID 或一个类,如下所示:

<div id="NavBar">
  <ul>
    <li><a href="index.html">Hjem</a>
    </li>
    <li><a class="olie" href="olie.html">Olie</a>
    </li>
    <li><a class="kul" href="kul.html">Kul</a>
    </li>
    <li><a class="naturgas" href="naturgas.html">Naturgas</a>
    </li>
  </ul>
</div>

然后相应地分配一个background-image:

#NavBar olie:hover {
  background-color: #111;
  background-image: url("billeder/olie_navbar.png");
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: center;
}


#NavBar kul:hover {
  background-color: #111;
  background-image: url("billeder/kul_navbar.png");
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: center;
}


#NavBar naturgas:hover {
  background-color: #111;
  background-image: url("billeder/naturgas_navbar.png");
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: center;
}

这样每个a标签都可以有不同的悬停状态

关于html - CSS 使特定的图像出现在特定的导航栏悬停上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36571397/

相关文章:

javascript - 无法通过单选类型检查计算 js 中的总数

html - Chrome 用户代理样式表覆盖我的网站样式

html - 如何将一组 div 右对齐?

javascript - 与 flexbox 相同高度的图像

javascript - T 形图中同一 Canvas 上的多个图形

javascript - 如何使搜索栏的结果列表可通过向上/向下箭头导航?

php - 如何在没有 Flash 的情况下使用 HTML5 进行直播?

php - 在 Ubuntu 中为 Web 开发 (LAMP) 提供代码自动完成的 IDE 的建议

android - Android 智能手机上的固定宽度 html 布局

html - CSS WordPress 菜单