Вам как-то придется рисовать путь дважды, сначала только штрих, затем только заливку.
Это можно сделать, вставив путь дважды (сначала без заливки, затем без обводки) или определив путь в элементе <defs>
, а затем вставив его дважды с помощью элемента <use>
.
Вот пример с добавлением пути дважды:
body {
background: grey;
}
<svg width="200" height="200" viewBox="0 0 200 200" >
<path stroke="white" stroke-width="20" d="M50 50 h 100 v 100 h -100 v -100z" />
<path fill="green" d="M50 50 h 100 v 100 h -100 v -100z" />
</svg>
А вот пример с путем в элементе <defs>
:
body {
background: grey;
}
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" viewBox="0 0 200 200" >
<defs>
<path id="path1" d="M50 50 h 100 v 100 h -100 v -100z"/>
</defs>
<use stroke="white" stroke-width="20" xlink:href="#path1" />
<use fill="green" xlink:href="#path1" />
</svg>