SVG и CSS variables

<svg width="16px" height="16px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
    <g>
        <circle stroke="var(--stroke-color, #979797)" cx="7" cy="7" r="7"></circle>
        <path fill="var(--fill-color, #979797)" d="..."></path>
    </g>
</svg>

или

<svg width="16px" height="16px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
    <style type="text/css">
        <![CDATA[
        circle {
            stroke: var(--stroke-color, #979797);
        }
        path {
            fill: var(--fill-color, #979797);
        }
      ]]>
    </style>
    <g>
        <circle cx="7" cy="7" r="7"></circle>
        <path d="..."></path>
    </g>
</svg>

P.S. Нужно было прокинуть css переменную в svg из background, но нет способа это сделать. Фоновое изображение, оно не является частью DOM, и нет возможности им манипулировать. В итоге сделал двумя svg.


Похожие записи

Руководство по Markdown

Markdown - облегчённый язык разметки, созданный с целью написания максимально читаемого и удобного для правки текста, но пригодного для преобразования HTML и другие языки публикаций.

Medium like image zooming

Полгода собирался в блог добавить zoom на изображения как на medium и вот "новый год" позволил мне это сделать.