2009-01-28 25 views
5

Sadece def'leri çalın ve ilk kez kullanın. Yapmak istediğim, bir temel şablon oluşturmak için def'leri kullanmaktır ve kullanıyorum, daha fazla iç etiket ekleyerek onu özelleştirin.Bir SVG'ye yeni düğümler ekleme <use> etiketi

Bu mümkün mü, Firefox'ta yapmaya çalıştığımda olduğu gibi, kullanım etiketine çocuklar olarak yerleştirdiğim hiçbir etiket oluşturmuyor. e.g:

<?xml version="1.0" standalone="no"?> 
<svg width="10000px" height="5500px" version="1.1" 
    baseProfile="full" 
    xmlns="http://www.w3.org/2000/svg" 
    xmlns:xlink="http://www.w3.org/1999/xlink"> 

    <defs> 
     <g id="storyCard"> 
      <rect width="800px" height="500px" fill="#ffff00" /> 
      <path d="M 20 120 L 780 120 M 640 20 L 640 120" stroke-width="6px" stroke="black" fill="none" /> 
     </g> 
    </defs> 

    <!-- White Board --> 
    <path d="M 0 0 L 10000 0 L 10000 550 L 0 5500 z M 2000 0 L 2000 5500" stroke-width="20px" stroke="black" fill="none" /> 
    <use xlink:href="#storyCard" transform="translate(100,100)" /> 
    <use xlink:href="#storyCard" transform="translate(1000,200)" > 
      <text x="20" y="80" font-size="45" font-weight="bold" font-family="Comic Sans MS, cursive"> 
       My Dummy Story 
      </text> 
    </use> 
</svg> 

cevap

5

Doğrudan kullanımla mümkün değildir. use element, açıklama ve animasyon öğeleri içerebilir, ancak XBL kabı gibi davranmaz.

Firefox'u hedefliyorsanız XBL'yi kullanabilirsiniz.

, SVG dahilinde kalmak bir grup yapıp arka plan kullanmak için:

<g transform="translate(1000,200)" > 
     <use xlink:href="#storyCard"/> 
     <text x="20" y="80" font-size="45" font-weight="bold" font-family="Comic Sans MS, cursive"> 
      My Dummy Story 
     </text> 
    </g>