--- title: margin-left slug: Web/CSS/margin-left translation_of: Web/CSS/margin-left --- <div>{{CSSRef()}}</div> <h2 id="Summary" name="Summary">Summary</h2> <p><img alt="Area on which CSS margin-left apply" src="/files/4039/margin-left.svg" style="border-style: solid; border-width: 1px; float: left; margin-bottom: 2em; margin-right: 1em;"><span class="seoSummary"><strong><code>margin-left</code></strong> 属性 设置与元素相关联的盒子模型的左外边距。这个值可以为负值。</span></p> <p><span class="seoSummary">竖直排列相邻的两个盒子模型的外边距会重叠 <em><a href="/en-US/docs/CSS/margin_collapsing" title="/en-US/docs/CSS/margin_collapsing">margin collapsing</a>。</em></span></p> <p><span class="seoSummary">在长度(width)被约束这种极少情况下,( <code>即当所有的宽度,左边界,边界,填充内容区域和边缘都被定义</code>), 左边界<code>会被忽略,</code>如果被制定为auto值,会有相同的计算值。</span></p> <p>{{cssinfo()}}</p> <h2 id="Syntax" name="Syntax">Syntax</h2> <pre class="brush:css">/* <length> values */ margin-left: 10px; /* 绝对长度 */ margin-left: 1em; /* 相对于字号的长度 */ margin-left: 5%; /* 相对最近块元素的宽度 */ /* Keyword values */ margin-left: auto; /* Global values */ margin-left: inherit; margin-left: initial; margin-left: unset; </pre> <h3 id="Values" name="Values">Values</h3> <dl> <dt><code><length></code></dt> <dd>一个固定宽度 {{cssxref("<length>")}} 值 : 可以是一个绝对宽度, e.g. in <code>px</code>, 也可以是个相对宽度, e.g. in <code>em</code>, 或者相对视窗的大小, e.g. in <code>vh</code>.</dd> <dt><code><percentage></code></dt> <dd>百分比值 {{cssxref("<percentage>")}} 最近的块容器的宽度 <em>width</em> .</dd> <dt><code>auto</code></dt> <dd>auto关键词表示在当前布局模式下,浏览器根据接收的左边距自动计算出外边距。如果有几组margin-left和margin-right 设置为auto,那么最后计算的空间分布,会根据display,float,position属性,自动生成以下几种情况: <table class="standard-table"> <thead> <tr> <th scope="col">Value of {{cssxref("display")}}</th> <th scope="col">Value of {{cssxref("float")}}</th> <th scope="col">Value of {{cssxref("position")}}</th> <th scope="col">Computed value of <code>auto</code></th> <th scope="col">Comment</th> </tr> </thead> <tbody> <tr> <th><code>inline</code>, <code>inline-block</code>, <code>inline-table</code></th> <th><em>any</em></th> <th><code>static</code> or <code>relative</code></th> <td><code>0</code></td> <td>Inline layout mode</td> </tr> <tr> <th><code>block</code>, <code>inline</code>, <code>inline-block</code>, <code>block</code>, <code>table</code>, <code>inline-table</code>, <code>list-item</code>, <code>table-caption</code></th> <th><em>any</em></th> <th><code>static</code> or <code>relative</code></th> <td><code>0</code>, 除非<code>margin-left</code>和 <code>margin-right同时都设置为auto</code>. 这样的话,元素就被设置为基于父元素居中。</td> <td>Block layout mode</td> </tr> <tr> <th><code>block</code>, <code>inline</code>, <code>inline-block</code>, <code>block</code>, <code>table</code>, <code>inline-table</code>, <code>list-item</code>, <code>table-caption</code></th> <th><code>left</code> or <code>right</code></th> <th><code>static</code> or <code>relative</code></th> <td><code>0</code></td> <td>Block layout mode (floating element)</td> </tr> <tr> <th><em>any </em><code>table-*</code><em>, except </em><code>table-caption</code></th> <th><em>any</em></th> <th><em>any</em></th> <td><code>0</code></td> <td>Internal <code>table-*</code> elements don't have margins, use {{ cssxref("border-spacing") }} instead</td> </tr> <tr> <th><em>any, except <code>flex</code>,</em> <code>inline-flex</code><em>, or </em><code>table-*</code></th> <th><em>any</em></th> <th><em><code>fixed</code></em> or <code>absolute</code></th> <td><code>0</code>, except if both <code>margin-left</code> and <code>margin-right</code> are set to <code>auto</code>. In this case, it is set to the value centering the border area inside the available <code>width</code>, if fixed.</td> <td>Absolutely positioned layout mode</td> </tr> <tr> <th><code>flex</code>, <code>inline-flex</code></th> <th><em>any</em></th> <th><em>any</em></th> <td> <p>在水平方向上有空余空间的情况下,空余的空间会被平均分给水平方向上写有margin-left:auto属性的元素的外边距</p> </td> <td>Flexbox layout mode</td> </tr> </tbody> </table> </dd> </dl> <h3 id="Formal_syntax">Formal syntax</h3> {{csssyntax()}} <h2 id="Examples" name="Examples">Examples</h2> <pre>.content { margin-left: 5%; } .sidebox { margin-left: 10px; } .logo { margin-left: -5px; } </pre> <h2 id="Specifications" name="Specifications">Specifications</h2> <table class="standard-table"> <thead> <tr> <th scope="col">Specification</th> <th scope="col">Status</th> <th scope="col">Comment</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('CSS3 Box', '#the-margin', 'margin-left')}}</td> <td>{{Spec2('CSS3 Box')}}</td> <td>No significant change from CSS 2.1.</td> </tr> <tr> <td>{{SpecName('CSS3 Transitions', '#animatable-css', 'margin-left')}}</td> <td>{{Spec2('CSS3 Transitions')}}</td> <td>Defines <code>margin-left</code> as animatable.</td> </tr> <tr> <td>{{SpecName('CSS3 Flexbox', '#item-margins', 'margin-left')}}</td> <td>{{Spec2('CSS3 Flexbox')}}</td> <td>Defines the behavior of <code>margin-left</code> on flex items.</td> </tr> <tr> <td>{{SpecName('CSS2.1', 'box.html#margin-properties', 'margin-left')}}</td> <td>{{Spec2('CSS2.1')}}</td> <td>Like in CSS1, but removes its effect on inline elements.</td> </tr> <tr> <td>{{SpecName('CSS1', '#margin-left', 'margin-left')}}</td> <td>{{Spec2('CSS1')}}</td> <td>Initial definition</td> </tr> </tbody> </table> <h2 id="Browser_Compatibility" name="Browser_Compatibility">Browser compatibility</h2> {{Compat("css.properties.margin-left")}}