我想在 svg 中重新创建具有特定度数的 css 线性渐变。
例如:
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 规范中,颜色停止将从最近的角落开始,但使用我的解决方案,它将从正方形开始的地方开始。
有更好的解决方案吗?
我希望我清楚地描述了它;)