Искам да пресъздам css линеен градиент със специфична степен в svg.
Например:
linear-gradient(45deg, yellow,green)
В svg бих могъл да го пресъздам, ако знаех ширината и височината, но искам да създам течен градиент
Най-доброто ми решение е:
<svg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMidYMid slice' viewBox='0 0 1 1'>
<defs>
<linearGradient id='g' x1="1"y1='0' y2='1' gradientTransform='rotate(45, .5, .5)'>
<stop offset='0%' stop-color='green' />
<stop offset='100%' stop-color='yellow' />
</linearGradient>
</defs>
<rect x='0' y='0' width='100%' height='100%' fill='url(#g)'/>
</svg>
Това ще създаде квадрат с градиента и квадратът ще бъде изрязан отстрани, за да създаде най-големия квадрат, който е възможен в прозореца за изглед.
Но в спецификацията на css3 спирането на цвета ще започне и най-близкия ъгъл, но с моето решение ще започне там, където започва квадратът.
Има ли по-добро решение?
Надявам се, че съм го описал ясно ;)