在我的资产目录中名为gray.svg的文件中
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="0" height="0">
<filter id="grayscale">
<feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
</filter>
</svg>
Run Code Online (Sandbox Code Playgroud)
在我的HTML中我有
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%">
<image filter="url(assets/gray.svg#grayscale)"xlink:href="assets/images/linux.png" x="0" y="0" width="100%" height="100%"></image>
</svg>
Run Code Online (Sandbox Code Playgroud)
我知道这是assets/gray.svg#grayscale存在的,因为当我进入检查器并单击链接时,它会将我带到一个实际的页面,其中包含在gray.svg中定义的svg.
此外,如果我没有外部的.svg文件,我只是将过滤器放在我的身体顶部,并将svg图像中的过滤器更改为#grayscale正常工作.
我不知道为什么它不起作用.有人可以帮帮我吗?
看起来你在Chromium中发现了这个错误:
问题109212:来自未应用的外部文件的SVG(filter | fill | stroke | clip-path |掩码)
哪些步骤将重现该问题?
- 在SVG文件中定义过滤器,为其分配ID.
- 在HTML文件中嵌入一些SVG.
- 使用CSS指令"filter:url(file#id)"来引用SVG文件中的过滤器.
预期结果是什么?应该应用过滤器.
会发生什么?没有应用过滤器.
您的示例在Firefox中正常运行.
| 归档时间: |
|
| 查看次数: |
1513 次 |
| 最近记录: |