Ich verwende Google's Charts js Bibliothek. Es funktioniert gut und macht tolle Grafiken für unsere Daten.Wie kann ich die SVG-Breite mit CSS skalieren?
Leider, aufgrund der Art und Weise, wie es erstellt wird, reagiert es nicht. Wenn sich also die Bildschirmgröße ändert, ändert sich die Übereinstimmung nicht. Ich habe das über eine redraw
Funktion gelöst, die auf window.onresize
gesetzt ist, damit ist das behoben.
Es scheint, dass das Drucken nicht als ein Größenänderungs-Ereignis betrachtet wird und daher wird Redraw nicht aufgerufen. Ich habe eine Nur-Druck-CSS, die den Rest der Seite formt, um gut auszusehen, wenn gedruckt, aber das Diagramm bleibt die gleiche Größe wie es im Browserfenster war. Ich kann das Fenster kleiner machen, und es druckt, ohne die Seitenskalierung zu vermasseln, aber das ist keine echte Lösung.
Ich habe versucht:
svg{width:100%;}
Zugabe print.css - keine guten
Ich habe nicht versucht:
macht die Graphen eine festgelegte Größe, die gut gedruckt werden - dies scheint wie ein Hack, und ich würde es lieber nicht tun, wenn es überhaupt möglich ist.
EDIT
Eine Änderung: der Google Chart API SVG als <svg>
in einem <div>
schafft. Es ist kein Hintergrundbild. Diese
die svg kein Hintergrund ist, ist es ein Objekt in einem Tag. Ich habe es aber versucht, und das Hinzufügen zu dem Tag hat es nicht behoben. – senshikaze