div
内にSVGを描画して入力する必要があります。 SVGにstroke
が設定されている場合は、div
の外に描画されます。div内のSVGストロークの問題
svg
とwidth=100%
は、ストロークの幅を考慮していません。 SVGは、アカウントのストローク幅を考慮して、親を埋めるようにする方法
.shape {
border: 1px solid blue;
width: 200px;
height: 200px;
}
svg {
overflow: hidden; // IE11 has 'visible' as default
}
<div class="shape">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" preserveAspectRatio="none" stroke="red" stroke-width="20" viewBox="0,0,100,50">
<polygon points="0,50 100,50 50,0" />
</svg>
</div>
?
それはこのようなものでなければなりません:これは、任意のSVGのために働く必要があり
、三角形は一例です。
たとえば、Chromeでブラウザの開発ツールを開いている場合、polygon
にカーソルを合わせると、ストロークを考慮した境界ボックスが表示されます。私はそれがウェブブラウザにしか利用できないのか、それともコードでも達成できるのだろうかと思います。それとも正しい方向ではないかもしれません。
私が試みたもう一つのことは、<img>
を使用してSVGを読み込みます。同じ結果。
私は私が先にコメントし信じていたよう。あなたはまだできません。ストロークを考慮してSVG Viewboxを構築する必要があります。 –
関連 - http://stackoverflow.com/questions/7241393/can-you-control-how-an-svgs-stroke-width-is-drawn –
@Paulie_Dしかしhttp://vectorpaint.yaks.co.nz/どういうわけか。三角形を作り、ストロークの厚さを20のように設定し、ホバー選択矩形をチェックします。 –