HTML/CSSの基礎ですね!widthとmax-width、セクション分けについて分かりやすく説明します。
【widthとmax-widthの違い】
width(固定幅)css
.container {
width: 1200px; /* 幅が1200pxに固定 */
}
・画面サイズに関わらず常に1200px
・スマホで見るとはみ出す問題が発生する
max-width(最大幅)css
.container {
max-width: 1200px; /* 最大1200pxまで、それ以下は自動縮小 */
width: 100%; /* 画面幅100%を基準に */
}
・大画面:1200pxまで広がる
・小画面:画面幅に合わせて自動縮小
・レスポンシブ対応に便利!
【推奨される使い方】css
.container {
max-width: 1200px;
width: 100%;
margin: 0 auto; /* 中央揃え */
padding: 0 20px; /* 左右に余白 */
}
【セクション分けの考え方】
基本原則:意味で分ける
1. header:サイト全体のヘッダー(ロゴ、ナビ)
2. nav:ナビゲーションメニュー
3. main:メインコンテンツ(ページの主内容)
4. section:コンテンツの大きなまとまり
5. aside:サイドバー(関連情報)
6. footer:フッター(コピーライト、リンク)
【具体例】html
\u0026lt;body\u0026gt;
\u0026lt;header\u0026gt;
\u0026lt;h1\u0026gt;サイト名\u0026lt;/h1\u0026gt;
\u0026lt;nav\u0026gt;
\u0026lt;ul\u0026gt;
\u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;#\u0026quot;\u0026gt;ホーム\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;
\u0026lt;/ul\u0026gt;
\u0026lt;/nav\u0026gt;
\u0026lt;/header\u0026gt;
\u0026lt;main\u0026gt;
\u0026lt;section class=\u0026quot;pickup\u0026quot;\u0026gt;
\u0026lt;h2\u0026gt;おすすめ商品\u0026lt;/h2\u0026gt;
\u0026lt;!-- pickupコンテンツ --\u0026gt;
\u0026lt;/section\u0026gt;
\u0026lt;section class=\u0026quot;class1\u0026quot;\u0026gt;
\u0026lt;h2\u0026gt;カテゴリー1\u0026lt;/h2\u0026gt;
\u0026lt;!-- class1コンテンツ --\u0026gt;
\u0026lt;/section\u0026gt;
\u0026lt;section class=\u0026quot;class2\u0026quot;\u0026gt;
\u0026lt;h2\u0026gt;カテゴリー2\u0026lt;/h2\u0026gt;
\u0026lt;!-- class2コンテンツ --\u0026gt;
\u0026lt;/section\u0026gt;
\u0026lt;/main\u0026gt;
\u0026lt;aside\u0026gt;
\u0026lt;h3\u0026gt;関連情報\u0026lt;/h3\u0026gt;
\u0026lt;!-- サイドバー --\u0026gt;
\u0026lt;/aside\u0026gt;
\u0026lt;footer\u0026gt;
\u0026lt;p\u0026gt;\u0026amp;copy; 2025 サイト名\u0026lt;/p\u0026gt;
\u0026lt;/footer\u0026gt;
\u0026lt;/body\u0026gt;.pickup
【クラス名の付け方】
良い例:
- → 何を表すか明確.product-list
- → 内容が分かる.btn-primary
- → 役割がわかる.class1
避けるべき例:
- , .class2 → 何のクラスか不明.box1
- , .red → 見た目だけの名前
【実践的なCSS例】css
/* 全体コンテナ */
body {
margin: 0;
padding: 0;
}
header, main, aside, footer {
max-width: 1200px;
width: 100%;
margin: 0 auto;
padding: 20px;
}
/* ヘッダー */
header {
background-color: #333;
color: white;
}
/* メインコンテンツ */
main {
background-color: #f5f5f5;
}
/* 各セクション */
.pickup, .class1, .class2 {
margin-bottom: 40px;
padding: 30px;
background-color: white;
}
/* サイドバー */
aside {
background-color: #e0e0e0;
}
/* フッター */
footer {
background-color: #333;
color: white;
text-align: center;
}.pickup
【まとめ】
1. max-widthを使おう:レスポンシブ対応が簡単
2. 意味でセクション分け:header/main/aside/footer
3. 具体的なクラス名:, .product-listなど
4. 共通スタイル:max-width + margin: 0 autoで中央揃え
これでカンプ通りのサイトが、どの画面サイズでも綺麗に表示されます!