html - 当背景颜色为黑色时,白色 svg 图标不可见
问题描述
我有两个图标:
钟 - 图标
设置图标
它们显示在导航栏中,您可以在屏幕截图的右上角看到:
当我将图标包装背景颜色设置为黑色时,该图标不再可见。
需要帮助来了解原因。
检查代码:
HTML 代码:
<div className="container">
<header className="header">
<nav className="user-nav">
<div className="user-nav-item">
<Link href="/">
<a className="user-nav-item-link">Overview</a>
</Link>
</div>
<div className="user-nav-item">
<Link href="/search">
<a className="user-nav-item-link">Search</a>
</Link>
</div>
<div className="user-nav-item">
<Link href="/feed">
<a className="user-nav-item-link">Feed</a>
</Link>
</div>
<h3 className="logo">Logo</h3>
</nav>
<div className="user-nav-icon">
<div className="user-nav-icon-box">
<img src={bellIcon} alt="notify icon" />
</div>
<div className="user-nav-icon-box">
<img src={settingsIcon} alt="settings icon" />
</div>
</div>
</header>
</div>
代码:
.container {
max-width: 100vw;
display: flex;
flex-direction: column;
.header {
display: flex;
align-items: center;
height: 5rem;
color: #fff;
background-color: black;
&-icon {
display: flex;
align-items: center;
background-color: white;
color: red;
margin-right: 3rem;
& > * {
padding: 0 0.8rem;
cursor: pointer;
}
&-icon-notification {
color: red;
}
}
}
}
解决方案
问题在于使用颜色属性覆盖 SVG 填充属性。该color
属性不适用于 SVG。您的 SVG 填充是黑色的。要么使用内联 SVG,要么创建另一个具有属性的 SVG 文件fill: white
。
推荐阅读
- java - Java swing JScrollPane 不可滚动
- reactjs - Graphql Apollo useQuery 总是返回 new { data },即使它是从缓存中获取的。这合法吗?
- javascript - Javascript:将值列表转换为对象集
- html - 数据列表选项的方向在 Chrome 浏览器中没有改变
- python - AttributeError 没有属性“删除”
- java - 单击按钮将数据从服务发送到活动的最佳方式是什么?
- node.js - 元在 Winston-mongodb 中为空
- jquery-ui - JQUERYUI:当我关闭和打开时,模态按钮不起作用
- python - 如何使用matplotlib在两条单独的绘图线上的标记之间绘制一条新线?
- oracle - Oracle APEX:LOV 动态列表