I want to use svg icons in my page. The designers I work with use Sketch to design the image and export the result in svg.
Sketch adds various id
tags to the exported code (note the id="Page-1"
, id="My-Star"
and id="Star-1"
attributes):
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="My-Star" stroke="#979797" fill="#D8D8D8">
<polygon id="Star-1" points="11.9860934 18.5835921 5.4876995 22 6.7287823 14.763932 1.47147118 9.63932023 8.73689646 8.58359214 11.9860934 2 15.2352904 8.58359214 22.5007157 9.63932023 17.2434045 14.763932 18.4844873 22 "></polygon>
</g>
</g>
</svg>
I include the svg directly in the html. By doing this, I introduce the same id
multiple times. Besides the invalid html that is a result of this way of working, I need to style the svg elements based on id
s. This is a bad practice.
I use css to style the svgs, take a look at an example
The question:
Is there a way to replace the id
s with class
es when exporting svgs from Sketch? Is there some plugin or setting I can give to the designers?
If not, what is the optimal workflow in receiving svg assets from designers and using it in the page?