Dimensioni della scatola note. Lunghezza della stringa di testo sconosciuta. Adatta testo a scatola senza rovinare il suo rapporto aspetto.Modo SVG puro per adattare il testo a una casella
Dopo una serata di googling e leggere le specifiche SVG, sono abbastanza sicuro che questo non è possibile senza javascript. Il più vicino che potevo ottenere era usare gli attributi textLength e lengthAdjust text, ma che allunga il testo lungo un solo asse.
<svg width="436" height="180"
style="border:solid 6px"
xmlns="http://www.w3.org/2000/svg">
<text y="50%" textLength="436" lengthAdjust="spacingAndGlyphs">UGLY TEXT</text>
</svg>
Sono consapevole SVG Scaling Text to fit container e fitting text into the box
Ho finito per fare un ciclo in javascript che aumenta la dimensione del font fino a quando getBBox mostra che non sarebbe più adatto. Brutto, sperando ancora che ci sarebbe un altro modo. – Bemmu
Ho anche cercato di far funzionare questa stessa funzionalità. Il miglior metodo che ho trovato era lo stesso che hai fatto. Passa attraverso JS e cambia carattere finché non si adatta. Ma anche nei font ci sono ancora degli spazi bianchi sopra e sotto, quindi non riesci a ottenere il risultato giusto. – Chad
Questo fa schifo, sembra una cosa così basilare, ma la specifica è chiara che si estende solo in una direzione.Dopo aver giocato intorno, sono stato in grado di avvicinarlo modificando solo la scala Y usando la trasformazione, ovvero: 'transform =" scale (0,5) "' - http://jsfiddle.net/G5L8W/ – streetlogics