私はレイアウト内の特定のスペースを埋めるようにしています。だからpreserveAspectRatio="none"
は良いアプローチのようです。svgの複数のpreserveAspectRatio?
しかし、svg内には、私が行うマスクがありますではなく、ストレッチ/ワープしたいです。むしろ、幅の100%を占め、比率に応じて高さのスケーリングを行う必要があります。 2つの画像は、親SVGが風景または肖像画のいずれかにあるときのマスクの動作を示しています。 (注:画像の灰色は、<svg>
の残りの部分です)、
マスクには独自のaspectRatio設定がありますか?これを達成するより良い方法はありますか?または、それは可能ですか?
`` `
<!-- this should scale according to its bounding parent -->
<svg class="fix" viewbox="0 0 2880 1620" preserveAspectRatio="none..?">
<!-- this should scale according to some intrinsic ratio -->
<mask id="mask"
maskUnits="userSpaceOnUse"
maskContentUnits="userSpaceOnUse">
<rect fill="white" x="0" y="0" width="2880" height="1620" />
<path fill="black" d="M57.59,60h409c344.17,.... ...."/>
</mask>
<rect mask="url(#mask)" x="0" y="0" width="100%" height="100%" />
</svg>
` ``
編集:(それは、追加の位置決めのオプションを持っているとして)だけではなく、mask
のmask-image
が可能と思われる使用して、これはありませんsvg要素では動作しないようです。
いいえ。 SVG内のものは 'preserveAspectRatio'の影響を受けます。また、なぜpreserveAspectRatio = "none" 'を使用していますか?モックアップで示している動作は、デフォルトの 'preserveAspectRatio'(' 'xMidYMid meet" ')の動作です。 –
ヘイ・ポール - そうですね、ありがとうございました。私はpreserveAspectRatio = noneを使用しています。これは、svgの残りの部分を任意の空間内で拡大/伸長したいからです。しかし、マスク内ではいけません。さて、私はと複数の