--- title: margin-left slug: Web/CSS/margin-left tags: - CSS - CSS Property - Layout - Reference - 'recipe:css-property' translation_of: Web/CSS/margin-left ---
margin-left
は CSS のプロパティで、要素の左側のマージン領域を設定します。正の数を指定すると、隣との間が遠くなるように配置され、負の数を指定すると、近くなるように配置します。
二つの隣り合うボックスの垂直マージンは融合することがあります。これはマージンの相殺と呼ばれています。
まれに幅の制約がきつすぎると (つまり、 width
, margin-left
, border
, padding
, コンテンツ領域, margin-right
がすべて定義されていた場合)、 margin-left
は無視され、 auto
が設定されていたときと同じ計算値になります。
/* <length> 値 */ margin-left: 10px; /* 絶対的な寸法 */ margin-left: 1em; /* 文字の寸法からの相対 */ margin-left: 5%; /* 直近のブロックコンテナーの幅からの相対 */ /* キーワード値 */ margin-left: auto; /* グローバル値 */ margin-left: inherit; margin-left: initial; margin-left: unset;
margin-left
プロパティは auto
キーワード、または <length>
や <percentage>
で指定されます。正の数、ゼロ、負の数が指定できます。
auto
margin-left
と margin-right
の両方が auto
の場合は、両方に均等に割り当てられます。それ以外の場合は以下の表のとおりです。
{{cssxref("display")}} の値 | {{cssxref("float")}} の値 | {{cssxref("position")}} の値 | auto の計算値 |
コメント |
---|---|---|---|---|
inline , inline-block , inline-table |
任意 | static または relative |
0 |
インラインレイアウトモード |
block , inline , inline-block , block , table , inline-table , list-item , table-caption |
任意 | static または relative |
0 。ただし margin-left と margin-right が共に auto に設定されていた場合は、親要素の中で中央揃えする値に設定されます。 |
ブロックレイアウトモード |
block , inline , inline-block , block , table , inline-table , list-item , table-caption |
left または right |
static または relative |
0 |
ブロックレイアウトモード (フロート要素) |
table-* すべて、ただし table-caption を除く |
任意 | 任意 | 0 |
内部の table-* 要素にはマージンがありません。代わりに {{ cssxref("border-spacing") }} を使用してください |
flex 、 inline-flex , table-* 以外のすべて |
任意 | fixed または absolute |
0 。ただし margin-left と margin-right が共に auto に設定されていた場合は、ボーダー領域を width の中で中央揃えする値に設定されます(固定されている場合)。 |
絶対位置指定配置モード |
flex , inline-flex |
任意 | 任意 | 0 。ただし、水平に正の余白がある場合は、 auto を指定したすべてのマージンに均等に割り振られます。 |
フレックスボックス配置モード |
{{cssinfo}}
.content { margin-left: 5%; } .sidebox { margin-left: 10px; } .logo { margin-left: -5px; }
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('CSS3 Box', '#propdef-margin-left', 'margin-left')}} | {{Spec2('CSS3 Box')}} | CSS 2.1 から目立った変更なし。 |
{{SpecName('CSS3 Flexbox', '#item-margins', 'margin-left')}} | {{Spec2('CSS3 Flexbox')}} | フレックス項目での margin-left の挙動を定義。 |
{{SpecName('CSS2.1', 'box.html#margin-properties', 'margin-left')}} | {{Spec2('CSS2.1')}} | CSS1 と同様、ただしインライン要素での効果は削除。 |
{{SpecName('CSS1', '#margin-left', 'margin-left')}} | {{Spec2('CSS1')}} | 初回定義 |
{{Compat("css.properties.margin-left")}}