マスク/クロップなしでコンテナにSVGを拡大縮小する
質問
私は、様々な種類の
svg
パラメータを試してみましたが、この特定の SVG を拡大縮小することに何の喜びも感じられませんでした。
私は このSVG を、SVGの大きさを制御するコンテナ要素に入れようとしています。
500x309pxを目指しています。
の組み合わせは?
width
,
height
,
viewBox
と
preserveAspectRatio
は、SVGがマスクされたり切り取られたりすることなく、これを達成するのを助けることができますか?
どのように解決するには?
-
あなたは絶対に
viewBox
属性は、常に見えるようにしたいコンテンツのバウンディングボックスを記述するものです。(リンク先のファイルにはありません。追加してください)。 -
SVGをHTML要素に埋め込むには、CSS属性に
position:relative
(またはposition:absolute
またはposition:fixed
を追加してください。 -
CSS属性を設定する
position:absolute
を設定します。<svg>
要素を追加し、div 内に収まるようにします。left:0; top:0; width:100%; height:100%
.)
一度
viewBox
のデフォルト値が正しく設定されます。
preserveAspectRatio
属性のデフォルト値は、あなたが望むとおりになります。特に、デフォルトの
xMidYMid meet
はそれを意味します。
-
viewBoxによって記述されたアスペクト比は、レンダリング時に保存されます。
これに対してnone
の場合、非一様なスケーリングが可能になります。 -
ビューボックスは常に
meet
を使用して、トップ/ボトムまたは左/右のいずれかになります。
これに対してslice
の値は、ビューボックスがレンダリングを完全に満たし、トップ/ボトムまたは左/右が SVG の外に落ちることを保証します。 -
はviewBoxをSVGビューポート内で垂直方向と水平方向の中央に維持する。
比較すると、値がxMinYMax
の場合、左下隅に置かれ、パディングは右または上にのみ行われます。
このライブはこちらでご覧いただけます。 http://jsfiddle.net/Jq3gy/2/
に対して明示的な値を指定してみてください。
preserveAspectRatio
に明示的に値を指定してみてください。
<svg>
要素を追加し、"Update" を押して、それらがレンダリングにどのような影響を与えるかを確認します。
編集 : 簡易版の USマップをビューボックスで表示する (ほぼ半分のバイト) を作成し、それを正確なニーズに合わせて更新したデモで使用しました。 http://jsfiddle.net/Jq3gy/5/
関連
-
iframeフレームワークの使用
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] 箇条書きのない順序なしリストが必要です。
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] WebSocketとサーバー送信型イベントの比較/EventSource
-
[解決済み] HTMLアンカーは'name'と'id'のどちらで作成するのが良いですか?
-
[解決済み] Do I use <img>, <object>, or <embed> for SVG files?
-
[解決済み] メモ帳++でXML/HTMLを自動整形/インデントする方法
-
[解決済み] SVGのストローク幅を固定化
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
document.forms 使用方法
-
[解決済み] input type="button "に背景画像を追加するには?
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] HTML 5: Is it <br>, <br/>, or <br />?
-
[解決済み] 画像の横のテキストを縦に揃える?
-
[解決済み] クリアフィックスとは何ですか?
-
[解決済み] WebSocketとサーバー送信型イベントの比較/EventSource
-
[解決済み] ボディの高さをブラウザの高さの100%にする
-
[解決済み] localStorage、sessionStorage、session、cookieの違いは何ですか?
-
[解決済み] 親ディバイスの高さを指定せずに、子ディバイスの高さを100%にする方法は?