無理しないでゆっくり休んでね!

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に設定され、デフォルトのブラウザスタイルに影響されずに、独自のマージン設定を行うことができます。

コメント

タイトルとURLをコピーしました