SVG defs из внешнего файла <use>не работает - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь повторно использовать определенные формы с <defs> и <use> в SVG. Сначала <defs> были включены в SVG, где это <use> d, и он работает должным образом. Затем я выделил <defs> во внешний файл и попытался использовать его, как было предложено в SVG defs, и использовать - это не удалось. Я пытаюсь выяснить, почему. Ниже приведены фрагменты кода (первый будет работать в коде, потому что он завершен. Второй - это только defs, поэтому он не будет отображаться. Третий - это проблемный файл.)

  1. SVG, который работает
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox='120 90 131 32'>
    <defs>
        <g id='F' style="fill:#000;font-size:32.1875px;stroke-width:0">
            <polygon points="0,-26.0625 0,3.5625 19.6719,3.5625 19.6719,-26.0625" style="fill:#fff"/>
            <text x="0.0" y="0.0">
                F
            </text>
        </g>
    </defs>
    <g id="drawing" style="stroke-width:4.6875;">
        <line x1="130" y1="105" x2="242.5" y2="105" stroke='red'/>
        <use x="231.4641" y="116.8125" xlink:href="#F"/>
    </g>
</svg>
<defs> во внешнем файле SVG.
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs>
        <g id="F" style="fill:#000;font-size:32.1875px;stroke-width:0">
            <polygon points="0,-26.0625 0,3.5625 19.6719,3.5625 19.6719,-26.0625" style="fill:#fff"/>
            <text x="0.0" y="0.0">
                F
            </text>
        </g>
    </defs>
</svg>
Попытка <use> из <defs>, но неудача
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="378" width="841">
    <g id="drawing" style="stroke-width:4.6875;">
        <line x1="130" y1="105" x2="242.5" y2="105"/>
        <use x="231.4641" y="116.8125" xlink:href="symbol-defs.svg#F"/>
    </g>
</svg>

Я был бы очень признателен за решение этой проблемы.

...