2012-04-25 10 views
8

emをSVG変換の単位として使用する方法はありますか? as inSVGを単位としてemに変換しますか?

<rect height="10em" width="10em" transform="translate(0em, 10em)" 
style="fill:none;stroke-width:3;stroke:black/> 

emをユニットとして削除しない限り、四角形はFirefoxでは翻訳されません。

+0

申し訳ありませんが、コードスニペットをコードスニペットとして強調表示していないため、表示されませんでした。 – user1357415

+0

''コマンドのように、変換ユニットはすべてユーザ空間になければならないと確信しています。しかし、私は現在これを確認する仕様を見つけることができないので、答えの代わりにコメントとして投稿しています。 – Phrogz

+0

詳細情報:「Tranforms」[sic]というラベルの付いたセクションを読んでください:http://lists.w3.org/Archives/Public/www-style/2012Feb/0550.html – Phrogz

答えて

3

残念ながら、そうではありません。

仕様はexplicitly allow for user units - 特に指定されていない場合はピクセル単位にデフォルト - 座標に適用されますが、翻訳はSVGMatrix interfaceで定義されているような浮動小数点数でのみ使用されます。

10

あなたが新しい座標系に変換したい要素(複数可)をラップする場合は、ソートのこの操作を行うことができます。

<svg> 
    <svg width="1em" height="1em" overflow="visible" viewBox="0 0 1 1"> 
    <rect height="10" width="10" transform="translate(0, 10)" .../> 
    </svg> 
</svg> 

別のオプションあなただけの翻訳を必要とし、xとyを持つ要素を使用している場合属性(または同等の)代わりに、それらを使用することで、次のように:

<rect x="0" y="10em" height="10em" width="10em" 
style="fill:none;stroke-width:3;stroke:black/> 

transforms in CSS/SVGのための新しい仕様は、現在作業中です、そして、それは確かにhereを参照して、翻訳に単位をできるようになります。

関連する問題