使用 ID 的 SVG 宽度
例如,我们分别有 defs 和 rect,所以我们必须使用 ID
<defs>
<linearGradient id="MyGradient">
<stop offset="0%" stop-color="#000" />
<stop offset="100%" stop-color="#fff" />
</linearGradient>
</defs>
<rect x="0" y="0" width="256" height="32" fill="url(#MyGradient)"/>
我怎样才能做同样的事情但不使用 ID (MyGradient)。也许用JavaScript?
像这样的东西
<rect x="0" y="0" width="256" height="32">
<linearGradient>
<stop offset="0%" stop-color="#000" />
<stop offset="100%" stop-color="#fff" />
</linearGradient>
</rect>
不起作用:(
for example we have defs and rect separately, so we must use ID
<defs>
<linearGradient id="MyGradient">
<stop offset="0%" stop-color="#000" />
<stop offset="100%" stop-color="#fff" />
</linearGradient>
</defs>
<rect x="0" y="0" width="256" height="32" fill="url(#MyGradient)"/>
How can I do the same but without using ID (MyGradient). Maybe with JavaScript?
something like this
<rect x="0" y="0" width="256" height="32">
<linearGradient>
<stop offset="0%" stop-color="#000" />
<stop offset="100%" stop-color="#fff" />
</linearGradient>
</rect>
doesn't work :(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为如果不定义渐变并使用 ID 链接到它,您就无法在 SVG 中应用渐变。您不想使用 ID 的原因是什么?
您将来也许可以应用 CSS 渐变,但我认为这还行不通,而且至少不像使用常规 SVG 渐变那样跨平台。
I don’t believe you can apply a gradient in SVG without defining the gradient and linking to it with an ID. What reason do you not want to use an ID?
You may be able to apply a CSS gradient in the future, but I don't think this works yet, and at any rate isn’t as cross platform as using the regular SVG gradient.