svg - SVG 符号中的线性渐变

标签 svg gradient symbols fill linear-gradients

我有一个带有 <symbol> 的 svg Sprite trhat 包含一个 <linearGradient> .我正在提交 <g>在同一 <symbol>使用此渐变 fill="url(#id)" .但是,当我加载 <symbol> 时与 <use>在其他文档中,<linearGradient>不加载。我可以看到填充的 url 指的是绝对路径而不是文档内部,并且没有正确加载。

如何加载 <linearGradient><symbol> ?

<symbol viewBox="0 0 550 90" width="100%" height="100%">
    <defs>
        <linearGradient id="gradient">
            <stop offset="-1.04974" stop-color="#D8D8D8">
                <animate attributeName="offset" values="-2; 1" dur="1s" repeatCount="indefinite"></animate>
            </stop>
            <stop offset="-0.549739" stop-color="#EEEEEE">
                <animate attributeName="offset" values="-1.5; 1.5" dur="1s" repeatCount="indefinite"></animate>
            </stop>
            <stop offset="-0.0497395" stop-color="#D8D8D8">
                <animate attributeName="offset" values="-1; 2" dur="1s" repeatCount="indefinite"></animate>
            </stop>
        </linearGradient>
    </defs>
    <g fill="url(#gradient)">
        <rect x="0" y="0" width="100" height="15"/> 
        <rect x="10" y="25" width="130" height="15" />                              
    </g>
</symbol>

最佳答案

对我来说,我有 display: none在我的 <svg>包含我的 <defs> 的标签和 <symbols> .

确保初始 svg 没有 display:none设置 - 使用 height: 0; width: 0; position: absolute; visibility: hidden反而。

同样如 Waruyama 的回答中所述,请确保 <defs><symbol> 之外标签。

找到这个提示 here .

关于svg - SVG 符号中的线性渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52439187/

相关文章:

css - 如何在绝对定位元素之上显示 li 内容?

ios - 核心剧情: Creating a CPTImage with imageWithCGImage

common-lisp - 关键字命名空间污染

ruby - 为什么 Ruby 在调用 to_proc 时只允许通过符号引用方法?

css - svg 悬停时奇怪的蓝色下划线

gnuplot - 带 pm3d 的总和调色板

html - 更改 svg+xml;base64 图像的颜色

clojure - 为什么 Clojure 区分符号和变量?

javascript - SVG d3 |我可以动态添加内联样式吗?

javascript - 将 d3.js 图表的平移限制为一个方向