2017-05-20 11 views
1

私はSVGを作成しており、比例的ではない(または少なくとも1つのファイルに4:3と16:9の変形がある)ようにしたい。私はどのように見えるように描こうとしました - ボーダーが変化していることに気付いていますが、途中の形は同じです。私はLinux OS上のInkscapeで作業しています。私は何を意味SVGの高さと幅のスケーリングが比例していない

、(不十分な評判に画像を埋め込むことができませんでした)示す:

Original SVG

Border's width is changing, but rest of SVG stays intact

私はオプションやインターネットを介して見てきたが、見つけることができませんでした関連するもの。私は何を探すべきか完全にはわからない。事前に助けてくれてありがとう!

+0

だけに言及 - 私は幅を変更し、高さを維持するために、また、SVG要素である境界線を、必要とします。 –

答えて

0

狭いアスペクト比に一致するSVGにviewBoxを付けます。ビューの幅を広げると、必要に応じて自動的に中央に表示されます。

下の例では、2つのSVGが同一で、別の番号がwidthheightに割り当てられています。

/* 4x3 aspect ratio */ 
 
svg:nth-child(1) { 
 
    width: 300px; 
 
    height: 225px; 
 
    border: solid 1px black; 
 
} 
 

 
/* 16x9 aspect ratio */ 
 
svg:nth-child(2) { 
 
    width: 400px; 
 
    height: 225px; 
 
    border: solid 1px black; 
 
}
<svg viewBox="0 0 120 90"> 
 
    <rect width="120" height="90" fill="lightgrey"/> 
 
    <circle cx="60" cy="300" r="240" fill="limegreen"/> 
 
    <text x="60" y="50" text-anchor="middle">4 x 3</text> 
 
</svg> 
 

 
<svg viewBox="0 0 120 90"> 
 
    <rect width="120" height="90" fill="lightgrey"/> 
 
    <circle cx="60" cy="300" r="240" fill="limegreen"/> 
 
    <text x="60" y="50" text-anchor="middle">4 x 3</text> 
 
</svg>

+0

これはほとんどそうですが、国境のためにも機能しますか?それが私の最大の問題ですから。要素は定位置にとどまるべきですが、境界線は変形に沿っている必要があります。 –

+0

私はあなたが少し良くしたいものを説明しなければならないと思います。私はあなたがもう何を望んでいるのか分かりません。 4:3または16:9で見た場合でも、SVGを中央に置いておきたいと思ったのですか? –

関連する問題