SVG文档中是否允许多个defs?

时间:2017-05-28 10:00:11

标签: svg

我想确保遵循标准 是否允许在一个SVG文档中有多个def?

嵌套的svgs允许有defs吗?

<svg>
 <defs></defs>
 <svg>
  <defs></defs>
 </svg>
</svg>

我找不到与此相关的规格中的任何内容

1 个答案:

答案 0 :(得分:4)

是的,允许,他们有不同的名称空间:

&#13;
&#13;
  <!doctype html>
  <html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Document</title>
  </head>
  <body>
    <svg width="800px" height="300px"
           xmlns="http://www.w3.org/2000/svg">

        <defs>
          <linearGradient id="Gradient01">
            <stop offset="20%" stop-color="#39F" />
            <stop offset="90%" stop-color="#F3F" />
          </linearGradient>
        </defs>

        <rect x="10" y="10" width="60" height="10" 
              fill="url(#Gradient01)" />
        <svg width="380px" height="330px"      
             xmlns="http://www.w3.org/2000/svg">

        <defs>
          <linearGradient id="Gradient01">
            <stop offset="50%" stop-color="#39F" />
            <stop offset="90%" stop-color="#F3F" />
          </linearGradient>
        </defs>

        <rect x="250" y="250" width="160" height="110" 
              fill="url(#Gradient01)" />
        </svg>
      </svg>
  </body>
  </html>
&#13;
&#13;
&#13;