2016-05-20 4 views
1

I want to add a stitched border to this pattern このパターンにステッチングボーダーを適用できますか?

ストロークを適用しましたが、最後に表示されていますが、コーナーの4px以下にする必要があります。

<svg viewbox="7.5 0 60 10"> 
 
    <defs> 
 
    <linearGradient id="gradient"> 
 
     <stop offset="38%" stop-color="rgb(255, 195, 56)" /> 
 
     <stop offset="68%" stop-color="rgb(255, 234, 104)" /> 
 
    </linearGradient> 
 
\t <style type="text/css"><![CDATA[ 
 
     #pat { 
 
     stroke:black; stroke-width:0.1px; stroke-dasharray:0.3; 
 
     } 
 
    ]]></style> 
 
    </defs> 
 
    <path id="pat" fill="url(#gradient)" d="M0 6 V5 Q2.5 3.5 5 5 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 V6" /> 
 
</svg>

答えて

1

あり、これを行うための別の方法かもしれないが、私の意見では、最も簡単な方法は、第二path要素(またはDEFパスを使用してuse要素)にパスをミラーリングすることであろうと、小さなtranslate(Y軸)を追加してください。

svg { 
 
    height: 200px; 
 
}
<svg viewbox="7.5 0 60 10"> 
 
    <defs> 
 
    <linearGradient id="gradient"> 
 
     <stop offset="38%" stop-color="rgb(255, 195, 56)" /> 
 
     <stop offset="68%" stop-color="rgb(255, 234, 104)" /> 
 
    </linearGradient> 
 
    <path d="M0 6 V5 Q2.5 3.5 5 5 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 t5 0 V6" id='wave'/> 
 
    <style type="text/css"> 
 
     <![CDATA[ #pat { 
 
     stroke: black; 
 
     stroke-width: .1; 
 
     stroke-dasharray: 0.3; 
 
     } 
 
     ]]> 
 
    </style> 
 
    </defs> 
 
    <use xlink:href="#wave" fill="url(#gradient)" /> 
 
    <use xlink:href="#wave" id="pat" fill="transparent" transform="translate(0,.15)" /> 
 
</svg>

+0

あなたは '(なし' fill'属性を持つ) '' エリアにパスを移動し、それにIDを与えることによって、D 'の重複を避けることができます。次に、あなたのデフオルトコードは次のようになります: '' –

+0

Ofcourse yes @NiettheDarkAbsolですが、 'def'タグ内に' def'タグと 'path'という2つの' use'タグを持つコード行が増えます。私はあなたがどこから来ているのか理解しています(繰り返しは避けるべきです)。 – Harry

+1

全体的なコードが少なくて済むので、パスを一度に調整したい場合は、1か所で行うだけです。私は可能な限りそのテクニックを使用しています。たとえば、2つの矢印を含むアイコンが反転され、 ''の設定が行われます。マークアップ自体に「これは同じであるべきです」ということをしっかりと確立しています。 –

関連する問題