要素がトリミングされている場合、それらはそこにあります - それらは私たちが見ることができない座標系の一部にすぎません。いくつかのグラフィック編集プログラムでファイルを開くと、次のように見えるかもしれません。
最も簡単なソリューションは何ですか?スタイルシートで、インラインスタイルの属性で、またはプロパティを表すためのSVGとして直接をSVGに追加します。ただし、SVGに背景色を適用したり、その周りに他の要素を持っている場合、物事は少し間違っているように見えるかもしれません。この場合、最良のオプションはViewBoxを編集して、隠された座標系パーツを表示することです。
viewboxについて、議論する価値がある余分なことがいくつかあります:
>一意のIDが使用されているかどうか、および同じIDがトリミングまたはマスクされている形状グループまたは形状グループに適用されるかどうかをチェックします。不一致のIDは、外観を台無しにする可能性があります。
<clippath></clippath>
<mask></mask>
またはの間のマークでタイプミスを確認してください。
<clippath></clippath>
、<mask></mask>
、、、または内の要素に適用される他のスタイルは役に立たない - 唯一の便利な部分は、これらの要素の充填領域のジオメトリです。だからこそ、を使用すると<clippath></clippath>
のように振る舞い、fill
を使用すると、作物効果が表示されません。 stroke
opacity
<polyline></polyline>
<polygon></polygon>
<line></line>
を適用した後に画像が表示されない場合は、マスクのコンテンツが完全に黒ではないことを確認してください。マスク要素の明るさは、最終図の不透明度を決定します。より明るい部分を見ることができ、暗い部分が画像の内容を隠すことができます。
このペンでマスクと作物の要素を使用して練習できます。 <mask></mask>
6
SVGがXMLベースのマークアップ言語であることをご存知ですか?はい、そうです! svgの名前空間はプロパティに設定されています:
XMLの名前空間について知っておくべきことがたくさんあり、MDNの最初の良い紹介があります。名前空間は、SVG固有のタグを付けているコンテキストをブラウザに提供すると言えます。アイデアは、同じファイル(SVGやXHTMLなど)に複数のタイプのXMLがある場合、名前空間は競合を防ぐのに役立つということです。これは最新のブラウザではあまり一般的ではありませんが、ドキュメントの種類と名前空間を定義する際にGeckoのような古いブラウザーやブラウザの厳格なSVGレンダリングの問題を説明するのに役立ちます。
SVG 2仕様では、HTML構文を使用する場合、名前空間は必要ありません。しかし、レガシーブラウザをサポートすることが優先事項である場合、それは非常に重要です。そして、それを追加することは損傷を引き起こしません。このようにして、要素のxmlns
属性を定義する場合、これらのまれなケースでは矛盾はありません。
<svg height="700" viewbox="0 0 700 700" width="700"></svg>
CSSでインラインSVGを使用する場合も同じことが当てはまります(たとえば、背景画像として設定)。次の例では、検証が成功した後、チェックマークアイコンが入力ボックスに表示されます。 CSSの外観は次のとおりです
<svg viewbox="0 0 700 700"></svg>
バックグラウンドプロパティのSVG内の名前空間を削除すると、画像が消えます。
別の一般的な名前空間プレフィックスは
です。パターン、フィルター、アニメーション、グラデーションなど、SVGの他の部分を参照するときによく使用します。 SVG 2以降、もう1つは廃止されているが、古いブラウザーとの互換性の問題がある可能性があるため、で交換を開始することをお勧めします。この場合、両方を使用できます。まだxlink:href
を使用している場合は、名前空間を含めてください。 href
xlink:href
SVGスキルを向上させてください! xmlns:xlink="http://www.w3.org/1999/xlink"
誤ってレンダリングされたインラインSVGをトラブルシューティングすることに気付いた場合、これらのヒントがあなたが多くの時間を節約するのに役立つことを願っています。これらは私が探しているものです。たぶんあなたは注意を払うために異なる赤い旗を持っています - もしそうなら、私にコメントで私に知らせてください!
最も重要なことは、SVGを使用するさまざまな方法を基本的に理解する価値があることです。 Codepenの課題には、多くの場合、SVGが含まれ、優れた実践を提供します。レベルを向上させるためのリソースをいくつか紹介します: