SVG描边颜色无法修改问题求助
解决Material Symbols SVG无法修改颜色的问题
你的问题核心在于:这个SVG的图形是通过**填充(fill)**实现的,而非描边(stroke)——默认情况下该SVG的path元素使用黑色fill,stroke属性处于none状态,所以你设置stroke属性完全不会改变它的颜色。
可行的解决方案:
直接修改path的fill属性:
在path标签中添加fill属性,替换为你需要的颜色值:<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"> <path fill="#ff0000" d="M280-600v-80h560v80H280Zm0 160v-80h560v80H280Zm0 160v-80h560v80H280ZM160-600q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640q0 17-11.5 28.5T160-600Zm0 160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440Zm0 160q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360q17 0 28.5 11.5T200-320q0 17-11.5 28.5T160-280Z"/> </svg>使用currentColor配合CSS:
给path设置fill="currentColor",再通过父元素的color属性控制颜色:<div style="color: #ff0000;"> <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"> <path fill="currentColor" d="M280-600v-80h560v80H280Zm0 160v-80h560v80H280Zm0 160v-80h560v80H280ZM160-600q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640q0 17-11.5 28.5T160-600Zm0 160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440Zm0 160q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360q17 0 28.5 11.5T200-320q0 17-11.5 28.5T160-280Z"/> </svg> </div>用CSS直接控制:
通过CSS选择器选中SVG的path元素,设置填充颜色:svg path { fill: #ff0000; }
内容的提问来源于stack exchange,提问作者scott8035
相关产品推荐
相关产品推荐

