【发布时间】:2016-11-22 20:46:40
【问题描述】:
当我将鼠标悬停在该区域上时,我正在尝试将导航栏中的图标颜色从白色更改为黑色,而不仅仅是图像。当我将鼠标悬停在图像上时,我已经改变了图像,但我想将其扩展到它周围的区域。任何帮助将不胜感激,我的代码如下。
HTML:
.navbar {
width: 100%;
height: auto;
text-align: center;
background-color: transparent;
overflow: auto;
display: block;
}
.navbar a {
width: 20%;
padding: 2px 0;
float: left;
transition: all 0.3s ease;
color: white;
font-size: 12px;
text-decoration: none;
display: block;
}
.navbar a:hover {
background-color: white;
color: black;
display: block;
}
.active {
background-color: #4CAF50;
}
.menubar {
width: 32px;
height: 32px;
}
<div class="navbar">
<a href="homepage.html">
<figure>
<img class="menubar" src="../images/icons/home.png" onmouseover="this.src='../images/icons/home_black.png'" onmouseout="this.src='../images/icons/home.png'" />
<figcaption>Homepage</figcaption>
</figure>
</a>
<a href="car.html">
<figure>
<img class="menubar" src="../images/icons/car.png" onmouseover="this.src='../images/icons/car_black.png'" onmouseout="this.src='../images/icons/car.png'" />
<figcaption>Cars</figcaption>
</figure>
</a>
<a href="motorbike.html">
<figure>
<img class="menubar" src="../images/icons/motorcycle.png" onmouseover="this.src='../images/icons/motorcycle_black.png'" onmouseout="this.src='../images/icons/motorcycle.png'" />
<figcaption>Motorcycles</figcaption>
</figure>
</a>
<a href="cycle.html">
<figure>
<img class="menubar" src="../images/icons/bicycle.png" onmouseover="this.src='../images/icons/bicycle_black.png'" onmouseout="this.src='../images/icons/bicycle.png'" />
<figcaption>Bicycles</figcaption>
</figure>
</a>
<a href="boat.html">
<figure>
<img class="menubar" src="../images/icons/boat.png" onmouseover="this.src='../images/icons/boat_black.png'" onmouseout="this.src='../images/icons/boat.png'" />
<figcaption>Boats</figcaption>
</figure>
</a>
</div>
CSS
【问题讨论】:
-
要执行您正在尝试的操作,您需要其他颜色的替代图像。您可能会考虑使用字体图标库,例如 fontawesome 或 glyphicons。我建议您将鼠标悬停到 css 类可能使用 jquery 来帮助
-
@happymacarts 在这个例子中他确实有备用图像。重新阅读问题,您会看到他想要将替换
img src的 JavaScript 移动到父元素,因此可以将a悬停在而不是img上以达到相同的效果。首先,我建议将 JS 拉出,这样就不再需要内联来完成此操作了。 -
@JonUleis 我错过了他拥有所有内联js