用于设置 SVG 元素样式的 CSS 3 渐变

发布于 2024-11-28 05:54:16 字数 432 浏览 2 评论 0原文

是否可以使用 CSS3 渐变来设置填充属性的样式?

我知道 SVG 提供了自己的渐变。但对我来说理想的解决方案是:

.button{
    fill:#960000;
    fill: -webkit-gradient,linear,left bottom,left top,
          color-stop(0.45, #37304C),color-stop(0.73, #534D6B));
    fill: -moz-linear-gradient(center bottom,#37304C 45%,#534D6B 73%);
    ...
}

当我尝试使用 SVG 渐变时,当我尝试将样式属性提取到外部样式表时,我陷入了困境。似乎 fill:url(#linearGradientXYZ) 不起作用,因为渐变是在 .svg 文件中定义的。

Is it possible to use CSS3 gradients for styling fill property?

I know that SVG provides their own gradients. But the ideal solution for me would be:

.button{
    fill:#960000;
    fill: -webkit-gradient,linear,left bottom,left top,
          color-stop(0.45, #37304C),color-stop(0.73, #534D6B));
    fill: -moz-linear-gradient(center bottom,#37304C 45%,#534D6B 73%);
    ...
}

When I tried to use SVG gradients, I got stucked when I tried to extract style attribute to external stylesheet. It seemed that fill:url(#linearGradientXYZ) didn't work as the gradient was defined in .svg file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

内心激荡 2024-12-05 05:54:16

不,目前还无法对 fill 属性使用 CSS3 渐变。不过好消息是 CSS 和 SVG 工作组正在讨论它,并且 SVG.next 将依赖于 CSS3 图像值(它定义了 CSS 渐变语法)。请参阅http://www.w3.org/2011/07/ 29-svg-分钟.html#item08

请注意,默认情况下 fill:url(...) 的基本 url 是包含此规则的文件。因此,如果您想将 fill:url(#linearGradientXYZ) 移动到外部样式表,请记住添加包含该渐变定义的文件的完整路径,例如: 填充:url(../images/gradients.svg#linearGradientXYZ)

No it's not yet possible to use CSS3 gradients for the fill property. The good news though is that it's being discussed by the CSS and SVG workgroups, and SVG.next will depend on CSS3 Image Values (which defines the CSS gradient syntax). See http://www.w3.org/2011/07/29-svg-minutes.html#item08.

Note that the base url for the fill:url(...) by default is the file that contains this rule. So if you want to move fill:url(#linearGradientXYZ) to an external stylesheet remember to add the full path to the file containing that gradient definition, eg. fill:url(../images/gradients.svg#linearGradientXYZ).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文