我makign这个着陆页,我的figma说,当按钮图标悬停,我需要改变背景颜色为白色和SVG文件为灰色。改变背景颜色是轻松忙碌但changinf的svg颜色是困难的,我仍然没有设法这样做,你能帮助我吗?
* {
margin: 0;
padding: 0;
border: 0;
box-sizing: border-box;
}
i {
padding: 5px;
display: flex;
align-items: center;
justify-content: center;
}
.topNav {
gap: 20px
}
i:hover {
background-color: rgb(255, 255, 255);
fill: #000;
}
svg:hover {
fill: black
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.4.0/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.3.0/font/bootstrap-icons.css">
<nav class="d-flex flex-column bg-secondary vh-100 justify-content-between custom-width" style="width: fit-content;">
<div class="topNav d-flex flex-column ">
<img src="./src/logo.svg" alt="">
<i class="bi bi-app" style="color: white"></i>
<i class="bi bi-globe2" style="color: white"></i>
<i class="bi bi-bar-chart" style="color: white"></i>
</div>
<div class="bottomNav d-flex flex-column">
<i class="bi bi-gear" style="color: white"></i>
<i class="bi bi-bell-fill" style="color: white"></i>
<i class="bi bi-person-circle" style="color: white"></i>
</div>
</nav>
<span>This is the test page</span>
<script src="../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
正如你所看到的,我尝试使用'填充'悬停CSS,我也尝试使用'颜色',但他们都没有工作,所以我有点无能。
1条答案
按热度按时间gojuced71#
Bootstrap 图标基于字体。每个图标都是一个文本字符。因此,您可以使用CSS属性
color
更改图标的颜色。在你的HTML中,你用内联CSS指定颜色:
<i class="bi bi-app" style="color: white"></i>
。您正在尝试在CSS中覆盖:hover
上的此颜色。但是,inline CSS always takes precedence。也就是说,当浏览器看到内联CSS时,它更愿意呈现这些样式,而不是外部CSS样式表中定义的任何样式。您需要删除内联样式并将其放入样式表中,在样式表中将对其进行适当的处理。例如: