当前未在 chrome 中显示的 SVG 符号
SVG symbol currently not displaying in chrome
我一直在处理 SVG 文件中的符号时遇到问题。它们目前未在浏览器中显示。
例如,我在 inkscape 中创建了这个基本的 SVG 文件来显示问题:
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100" width="100" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<symbol id="circle">
<circle style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-width="3.257" stroke="#008000" cy="1000.1" cx="34.598" r="12.879"/>
</symbol>
</defs>
<g transform="translate(0 -952.36)">
<use xlink:href="#circle"/>
</g>
</svg>
它应该是这样的:
但由于某些原因,它在 chrome 中没有显示,有人知道为什么吗?
您主要在视图框外绘制初始符号 - 您的视图框为 100 x 100,但 cy 为 100.1。这似乎完全禁用绘图,因此当您将它带回带有翻译的视图框时,那里什么也没有。调整你的 cy 以便你在 viewbox 内部绘图并减少你的平移以进行补偿。
我一直在处理 SVG 文件中的符号时遇到问题。它们目前未在浏览器中显示。
例如,我在 inkscape 中创建了这个基本的 SVG 文件来显示问题:
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100" width="100" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<symbol id="circle">
<circle style="color-rendering:auto;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;image-rendering:auto" stroke-width="3.257" stroke="#008000" cy="1000.1" cx="34.598" r="12.879"/>
</symbol>
</defs>
<g transform="translate(0 -952.36)">
<use xlink:href="#circle"/>
</g>
</svg>
它应该是这样的:
但由于某些原因,它在 chrome 中没有显示,有人知道为什么吗?
您主要在视图框外绘制初始符号 - 您的视图框为 100 x 100,但 cy 为 100.1。这似乎完全禁用绘图,因此当您将它带回带有翻译的视图框时,那里什么也没有。调整你的 cy 以便你在 viewbox 内部绘图并减少你的平移以进行补偿。