【发布时间】:2018-03-01 06:02:02
【问题描述】:
我在 Firefox 中遇到了这个问题,或者我使用了一些错误的东西,但是我使用了这样的 svg 图片:
<img src="image.svg" alt="some image">
浏览器会像这样渲染它们:
我可以像.png 一样拥有它们,它工作正常,但我需要它们在.svg
使用 SVG 源更新
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
<defs>
<path id="a" d="M13.333 9.333V7.746c0-.717.159-1.08 1.271-1.08H16V4h-2.33c-2.853 0-3.795 1.308-3.795 3.554v1.78H8V12h1.875v8h3.458v-8h2.35L16 9.333h-2.667z"/>
<path id="c" d="M0 0h24v24H0z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<mask id="b" fill="#fff">
<use xlink:href="#a"/>
</mask>
<use fill="#000" xlink:href="#a"/>
<g mask="url(#b)">
<use fill="#232323" xlink:href="#c"/>
</g>
</g>
</svg>
更新 2
尝试将fill 属性从<mask> 移动到其子元素<use>,就像在this 问题中一样,但没有解决问题。
我使用的是 Firefox 55.0.3。
【问题讨论】:
-
它们被渲染了:是渲染质量差的问题和问题吗?
-
将此 svg 作为元素看起来不错(Win10 上的 Fx)。你看到
img[src="*.svg"]和<svg>之间有什么区别吗? -
@FelipeAls 还是一样。渲染效果不佳
-
无法在 FF56 上重现 jsfiddle.net/1oym0uny
-
@cs.matyi 它在我的 Maca 上的 Firefox 浏览器中正常工作,我已经编辑了您的问题并正确插入了代码,所以请批准它,以便我们所有人都可以检查。