コンテンツへ移動

SVGのレスポンシブサイズ調整・width: 100%・線幅を一定に保つCSS手法

SVG Nexus · 最終更新: 11月 2026

viewBox・width/height属性・CSSのwidth: 100%・vector-effect="non-scaling-stroke"を組み合わせて、SVGの崩れや拡大時の線太りを防ぎます。

viewBoxとwidth/height属性の役割分担

viewBoxは内部座標系を定義し、HTMLのwidth/height属性はCSS読込前のアスペクト比を確保してレイアウトシフト(CLS)を防ぎます。

フルード伸縮とFlexボタン内の潰れ防止

伸縮させたい図版には width: 100%; height: auto; display: block を指定し、ボタン内のアイコンには flex-shrink: 0 を付けて文字数が増えても潰れないようにします。

non-scaling-strokeで線幅を固定する

拡大縮小しても線の太さを一定に保ちたい場合は、path要素に vector-effect="non-scaling-stroke" を指定します。

<svg viewBox="0 0 24 24" class="icon-scalable" fill="none" stroke="currentColor" stroke-width="1.75">
  <path vector-effect="non-scaling-stroke" d="M4 12h16M12 4v16"/>
</svg>

このサイトの検証済み事実

  • 書き出し形式:Optimized SVG, PNG, WebP, React TSX, Vue 3 SFC, Svelte, CSS mask or data URI, SVG sprite
  • ラスタ書き出しサイズ:64px, 128px, 256px, 512px, 1024px, 2048px
  • ワークスペースの1ファイルのアップロード上限:2 MB
  • ライセンスと作者は各アイコンページに明記されています。

Related pages on SVG Nexus

← 実践的なSVGガイド&チュートリアル

76,166個のベクターアイコンを検索するには入力してください...

移動 | Enter で開く すべてのアイコンを見る

比較

ライセンス 商用利用 クレジット 変更と色替え
MIT許可パッケージに通知許可
ISC許可パッケージに通知許可
Apache-2.0許可通知ファイルとともに必須許可
CC BY 4.0許可クレジット必須許可
CC-BY-SA-4.0許可同一条件で配布同一条件で配布
Trademark / Brand参照目的のみ権利者の指針制限あり

アイコンプレビュー