ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
margin とは
margin は要素の外側に余白を作る CSS プロパティです。要素同士の距離を取ったり、ブロック要素を中央寄せしたりするのに使います。CSS ボックスモデルでは content → padding → border → margin の順に外側にあります。
4 辺の指定方法
| プロパティ | 意味 |
|---|---|
margin-top | 上の余白 |
margin-right | 右の余白 |
margin-bottom | 下の余白 |
margin-left | 左の余白 |
margin | 4 辺をまとめて指定するショートハンド |
ショートハンドの書き方
/* 4 辺すべて 10px */
.box { margin: 10px; }
/* 縦 10px / 横 20px */
.box { margin: 10px 20px; }
/* 上 / 横 / 下 */
.box { margin: 10px 20px 30px; }
/* 上 / 右 / 下 / 左(時計回り) */
.box { margin: 10px 20px 30px 40px; }
使える単位
| 単位 | 説明 |
|---|---|
px | 絶対的なピクセル |
em / rem | フォントサイズ基準(タイポグラフィに合わせやすい) |
% | 親要素の幅に対する比率(上下の % も幅基準) |
auto | ブラウザが自動計算。中央寄せに使う |
vh / vw | ビューポート基準 |
負の値(例 -10px) | 要素を引き寄せたり重ねたりする |
中央寄せの定番: margin: 0 auto
幅が決まったブロック要素を水平方向中央に置く最も基本的なやり方です。
.container {
width: 1000px;
margin: 0 auto; /* 上下 0、左右 auto */
}
/* レスポンシブ対応版 */
.container {
max-width: 1000px;
margin-inline: auto; /* 論理プロパティで左右 auto */
padding: 0 16px; /* 画面端の余白 */
}
注意点として auto はブロック要素にしか効きません。インライン要素やテーブルは別の方法(text-align: center や Flex / Grid)が必要です。
マージン相殺(margin collapsing)
上下に並んだブロック要素の margin-bottom と margin-top は、大きい方の値だけが残って合算されません。これを「マージンの相殺」と呼びます。
<style>
.a { margin-bottom: 30px; }
.b { margin-top: 20px; }
</style>
<div class="a">A</div>
<div class="b">B</div>
<!-- A と B の間隔は 50px ではなく 30px -->
相殺は上下方向にしか起きず、左右では発生しません。Flex / Grid コンテナの子要素や、overflow / display: flow-root を指定したコンテナの中でも発生しません。
負の margin で要素を重ねる
/* カードを上に少し被せる */
.next-card {
margin-top: -20px;
}
/* 親の padding を打ち消して画面端まで広げる */
.bleed {
margin-inline: -16px;
}
負の margin は柔軟ですが、レイアウトの可読性が下がるため使いどころは絞ったほうが安全です。
論理プロパティ(margin-inline / margin-block)
多言語サイトや縦書きで方向に依存しないレイアウトを書くために、論理プロパティが用意されています。
| 論理プロパティ | 横書き LTR での意味 |
|---|---|
margin-inline-start | margin-left に相当 |
margin-inline-end | margin-right に相当 |
margin-block-start | margin-top に相当 |
margin-block-end | margin-bottom に相当 |
margin-inline | 左右まとめて |
margin-block | 上下まとめて |
margin と padding の違い
| 項目 | margin | padding |
|---|---|---|
| 位置 | border の外側 | border の内側 |
| 背景色 / 背景画像 | 反映されない | 反映される |
| 負の値 | 使える | 使えない |
| 相殺 | 上下で発生する | 発生しない |
| 幅・高さへの算入 | 影響しない | box-sizing による |
よくあるトラブル
| 症状 | 対処 |
|---|---|
| margin-top が親要素の外側に突き抜ける | マージン相殺が親まで波及している。親に padding-top: 0.1px / border / overflow: hidden / display: flow-root のいずれかを当てる |
| margin: auto で中央に寄らない | 要素が block ではない / 幅が指定されていない / Flex/Grid 子で別ルールが効いている |
| % 指定の上下マージンが想定と違う | 上下も親要素の幅基準で計算される仕様 |
| Flex で margin-bottom が効きにくい | Flex では相殺が起きないので、本当に効いていないのは gap や flex-grow の影響を疑う |
関連
- ボックス関連プロパティ — 親カテゴリ
- CSS — 上位カテゴリ
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- margin関連プロパティ
- padding 関連プロパティ
- border関連プロパティ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?