Bewahren untergeordneten Elemente' Größe und Skalierung des parent-Elements

Ich habe eine XHTML-Seite mit SVG-eingebettet in die Sie als <svg> element. Ich brauche zu implementieren, skalieren, aber es ist eine Anforderung, die innere <text> Elemente müssen nicht skalieren. Eine offensichtliche Lösung ist

<svg ...>
  <!-- Root <g> to programmatically `setAttribute("transform", ...)` -->
  <g transform="scale(0.5)">
    <!-- Various inner elements here -->
    <!-- Here is a text element.
         Additional <g> is to apply text position which
         *must* depend on the scaling factor set above -->
    <g transform="translate(100 50)">
      <!-- Apply the opposite scaling factor.
           Must be done for every `<text>` element on each change of the scaling factor... -->
      <text x="0" y="0" transform="scale(2)">Hello, World!</text>
    </g>
  </g>
</svg>

Gibt es eine bessere Lösung als das? Vielleicht gibt es eine Art "reset", die daraus resultierende Skalierungsfaktor für innere <text> Elemente? Muss der code funktioniert in Firefox und Chrome.

UPD. Es gibt auch eine option, um text-Elemente, die außerhalb des element skaliert und manuell Steuern-text-Positionen. Es vermeidet visuelle Störungen, die auf den text, weil der Skalierung. Ich verwende derzeit diese Methode.

InformationsquelleAutor Evgeny A. | 2012-01-16
Schreibe einen Kommentar