概要
- HTMLのみ でレスポンシブなWebサイト構築が可能
- 画像や動画 のはみ出し対策のCSS設定
- タイポグラフィ の改善による可読性向上
- ダークモード のサポート方法
- コンテンツ幅の制御 による読みやすさの確保
HTMLとCSSだけで始めるレスポンシブWebサイト
- HTMLのみ でもレスポンシブWebサイトのベース構築が可能
- 画像 は横幅制限がないと、画面からはみ出す問題
- 対策として、以下のCSSを追加推奨
- img { max-width: 100%; display: block; }
- SVGやvideo も同様の問題が発生する場合、以下のように拡張
- img, svg, video { max-width: 100%; display: block; }
タイポグラフィの改善
- デフォルトのフォントは読みやすさやデザイン性で劣る場合が多い
- system-ui を使えば、システム標準フォントで見栄え向上
- フォントサイズや行間も調整推奨
- body { font-family: system-ui; font-size: 1.25rem; line-height: 1.5; }
- 行間は 1.5~1.7 程度が読みやすさの目安
ダークモードのサポート
- ユーザーの システム設定 に合わせて自動でテーマ切り替えが可能
- color-scheme プロパティを利用
- html { color-scheme: light dark; }
- HTMLタグに直接属性追加も可能
- <html lang="en" color-scheme="light dark"></html>
- ユーザーによる手動切り替え機能の実装も推奨
コンテンツ幅の制御
- テキストの行長は 45~90文字 程度が最適
- main 要素や .container クラスを用いて幅を制限
- main { max-width: min(70ch, 100% - 4rem); margin-inline: auto; }
- min()関数 で画面幅に応じて柔軟に調整
- margin-inline: auto で中央寄せ
最終的なCSSサンプル
html { color-scheme: light dark; }
body { font-family: system-ui; font-size: 1.25rem; line-height: 1.5; }
img, svg, video { max-width: 100%; display: block; }
main { max-width: min(70ch, 100% - 4rem); margin-inline: auto; }
まとめと今後の発展
- ここまでの設定で シンプルかつ見やすいWebサイト の基礎が完成
- より複雑なデザインや機能は、このベースの上に追加実装可能
- 拡張性 の高いスタートポイントとして活用推奨