我正在設計這個登陸頁面,我的圖片顯示,當按鈕圖標懸停時,我需要將背景色改為白色,將svg文件改為灰色。改變背景顏色很容易,但是改變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" >
<link rel="stylesheet" >
<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屬性color來改變圖標的顏色。
在你的HTML中,你用內聯CSS來指定顏色:& lt我認為。畢比-app & quot;style = & quot顏色:白色& quot& gt& lt/I & gt;。您正試圖在CSS中覆蓋此顏色。但是,內聯CSS總是優先。也就是說,當瀏覽器看到內聯CSS時,它會優先呈現這些樣式,而不是外部CSS樣式表中定義的任何樣式。
您需要移除內聯樣式并將其放入樣式表中,在樣式表中它將得到適當的處理。例如:
body {
background-color: #444;
}
i {
color: white;
font-size: 40px;
}
i:hover {
color: red;
}
<head>
<link rel="stylesheet" >
</head>
<body>
<i class="bi bi-app"></i>
<i class="bi bi-globe2"></i>
<i class="bi bi-bar-chart"></i>
</body>
上一篇vue 表單驗證組件
下一篇c# json解析為數組