为什么 SVG 作为 CSS 背景时,Fill 属性无法识别十六进制颜色值?
以 svg 背景无法支持十六进制颜色的 fill 为例
在将 svg 作为 css 背景时,发现 fill 属性无法识别十六进制颜色值,例如 #acd123,导致颜色无法正常显示。但如果将相同的 svg 以 html 标签形式呈现,则 fill 中的十六进制颜色可以正常显示。
解决方法
由于 css 无法直接识别 svg 内部属性,因此无法支持十六进制颜色值的 fill。但可以通过以下方法解决:
立即学习“前端免费学习笔记(深入)”;
将十六进制颜色值转换为 rgb 形式,并将其写入 fill 属性。例如,十六进制颜色 #acd123 转换为 rgb 形式为 rgb(172, 209, 35),就可以显示出相应颜色。将其写入代码如下:
.svg { box-sizing: border-box; width: 100px; height: 100px; background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' fill='rgb(172, 209, 35)' rx='15' stroke='red' /></svg>"); } <div class="svg">svg的fill颜色</div>
通过这种方法,可以解决 svg 作为 css 背景时 fill 属性不支持十六进制颜色值的问题。
以上就是为什么 SVG 作为 CSS 背景时,Fill 属性无法识别十六进制颜色值?的详细内容,更多请关注其它相关文章!