2017-08-08 16 views
1

基本的なsvgアニメーションを試していますが、単純なポリゴンを描画するのに問題があります。何らかの理由で、私の形の縦線が表示されません。svgパスの垂直線が表示されない

は、ここに私のコードです:

.path { 
 
    fill: red; 
 
    stroke: black; 
 
    stroke-width: 5px; 
 
}
<svg xmlns="http://www.w3.org/2000/svg"> 
 
    <path class="path" d="M160,60 L-160,60 l0,-60 z"> 
 
</svg>

そして、ここで私が得ていた結果だ:私はここで間違ってやっている何bad shape

?前もって感謝します。

+0

それは単に形状の位置だように、私は負の値は、あなたが実際に左を見ていないので、そのバウンディングボックスの観点からそれを取っていると思う私には見えます三角形の一辺。 –

+0

まだ慣れていない場合は、Webページを右クリックして[inspect]を選択すると、ライブコンテンツの詳細が表示されます。あなたのポリゴンを調べると、それはあなたの視認可能な領域の外にあることが実際に分かります。 – yanman1234

答えて

2

ラインがビューポートの外にあります。 viewBox属性値を変更するか、図形を右に置き換えることができます。以下の作業例を参照してください。

.path { 
 
    fill: red; 
 
    stroke: black; 
 
    stroke-width: 5px; 
 
}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-200 -10 400 80"> 
 
    <path class="path" d="M160,60 L-160,60 l0,-60 z"/> 
 
</svg>

+0

これは全体的な形状を示しています。これは素晴らしいですが、スケールアップされています。どのようにしてviewBoxの値を決定しましたか? – cyang2

+0

@ cyang2、あなたのSVGのパス値を見てください。パスはポイント_x = 160、y = 60_から始まります( 'M160,60'参照)。それから、_x = -160、y = 0_( 'L-160,60'を見てください)に線を引いてください。次のセグメント 'l0、-60'は、幅が_0_に等しく、高さが_-60_(相対座標)に等しい行を描画します。 'z'は回路を閉じます。したがって、最小_x_値は_-160_に等しく、最小y値は_0_に等しく、幅は_-320_であり、高さは_60_である。私はこの値のモジュールをvieportの形に合わせて増やします。均一なスケーリングを強制するには、[preserveAspectRatio](https://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute)を使用します。 – Alexander

+0

@ cyang2、あなたの質問は解決しましたか?追加の説明が必要ですか? – Alexander

関連する問題