У меня есть изображение svg, внедренное в страницу с использованием vue -svg-inline-loader.
<img
svg-inline
src="@/assets/vectors/silhouettes/body.svg"
:style="silhouetteStyle">
SVG содержит radialGradient, который я изменил для работы с css переменными, как показано ниже
<defs>
<radialGradient
id="gradient"
gradientUnits="userSpaceOnUse"
cx="50%"
cy="27%"
r="var(--radius)">
<stop offset="0%" stop-color="var(--in-color)" />
<stop offset="100%" stop-color="var(--out-color)" />
</radialGradient>
</defs>
В vue я обновляю переменные css, чтобы создать динамический c градиент
computed: {
silhouetteStyle() {
/* whatever the calculation of variables */
return `--radius:${radius}; --in-color:${inColor}; --out-color:${outColor}`;
},
},
Цвета градиента обновляются идеально, но не радиус. Я не могу найти никакого ответа о том, возможно ли это.
-EDIT-
Вот демонстрация codesandbox для иллюстрации вещь. Как видите, цвета меняются, но не радиус