2016-08-24 3 views
1

Donc je rends certains objets avec width de 120px et les objets auront des titres différents. Mon problème est quand le titre est trop long il ne l'enveloppe pas et le met dans une nouvelle ligne. Y at-il un travail autour de ce genre de problème en svg?comment envelopper le texte en SVG

var labels = ["Testing 123", "Things are fantastic"] 

for (var i = 0; i < labels.length; i++) 
      { 
       cell = editor.graph.cloneCells([cell])[0]; 
       // cell.setStyle(new-style); 
       editor.graph.model.valueForCellChanged(cell, label); 

       editor.toolbar.addPrototype(label, "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='43px' width='104px'>" + 
        "<rect fill='#595A5A' stroke='black' x='0' y='0' rx='5' ry='5' width='100%' height='100%'/>"+ 
        "<text text-anchor='middle' font-weight='600' font-family='Helvetica' fill='#BCCF00' x='50%' y='25' font-size='12'>" + label + "</text></svg>", cell); 
      } 

Répondre

3

Il n'y a pas de retour à la ligne automatique dans SVG 1.1. Vous devez disposer votre texte en lignes vous-même.

+0

Êtes-vous confirmant que même en svg normal, nous ne pouvons pas casser la ligne; Est-il possible de mettre la balise de texte dans une boîte qui pourrait contenir le texte, au lieu de cacher le débordement –

+1

Generic SVG 1.1 n'a pas de capacité d'emballage. Cela est susceptible de changer dans SVG 2 quand il est libéré. Cependant, si vous êtes dans un navigateur, vous pouvez utiliser l'élément '' pour [incorporer le HTML dans votre fichier SVG] (https://developer.mozilla.org/en/docs/Web/SVG/Element/ Objet étranger). C'est votre seule option. –