CSS margin
CSSでのmarginは、HTML要素の外側のスペースを制御するために使用されるプロパティです。marginは、要素間の距離を調整し、デザイン上のレイアウトやスペースを整えるために重要な役割を果たします。
marginのプロパティ
次のようなプロパティがあります:
margin-top
: 要素の上部のマージンを設定します。margin-right
: 要素の右側のマージンを設定します。margin-bottom
: 要素の下部のマージンを設定します。margin-left
: 要素の左側のマージンを設定します。
これらのプロパティには、単位(px、em、rem、% など)を指定してマージンの幅を設定します。
また、margin
ショートハンドプロパティを使って、上記のすべてのマージンを一度に設定することもできます。
ショートハンドプロパティ
margin
プロパティを使って、上下左右のマージンを一度に指定できます。
margin: 上 右 下 左;
margin: 上 下;
(左右のマージン)margin: 上;
(上下左右のマージンが同じ)
/* 上 10px, 右 15px, 下 20px, 左 25px */
div {
margin: 10px 15px 20px 25px;
}
/* 上下 10px, 左右 20px */
div {
margin: 10px 20px;
}
/* 上下左右 10px */
div {
margin: 10px;
}
マージンの自動調整
マージンに auto
値を使用すると、ブラウザがマージンのサイズを自動的に計算して要素を中央に配置できます。これは主に水平方向の中央揃えに使用されます。
div {
width: 50%;
margin: 0 auto; /* 上下マージンは0、左右マージンは自動調整 */
}
マージンの相殺
マージンの相殺とは、2つの要素の上下のマージンが重なることです。言い換えると、一つのマージンに結合される (折り畳まれる、collapsed)ことです。
これは、ブロックレベル要素の上下マージンにのみ適用されます。衝突が発生した場合、ブラウザは両方のマージンのうち大きい方を適用し、小さい方は無視します。
<style>
div.one {
margin-bottom: 20px;
}
div.two {
margin-top: 30px;
}
</style>
<div class="one">Div 1</div>
<div class="two">Div 2</div>
この例では、div.one
の下マージンが20px、div.two
の上マージンが30pxですが、衝突が発生し、実際のマージンは30pxになります。
要素のマージンをリセットする方法
すべてのマージンをリセット(0に設定)するには、次のように margin
プロパティを使用します。
/* リセットすべてのマージン */
* {
margin: 0;
}
これにより、すべての要素のマージンが0に設定され、デフォルトのブラウザスタイルに影響されずに、独自のマージン設定を行うことができます。
コメント