margin-left - CSS: Cascading Style Sheets 编辑
The margin-left
CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.The vertical margins of two adjacent boxes may fuse. This is called margin collapsing.
In the rare cases where width is overconstrained (i.e., when all of width
, margin-left
, border
, padding
, the content area, and margin-right
are defined), margin-left
is ignored, and will have the same calculated value as if the auto
value was specified.
Syntax
/* <length> values */
margin-left: 10px; /* An absolute length */
margin-left: 1em; /* relative to the text size */
margin-left: 5%; /* relative to the nearest block container's width */
/* Keyword values */
margin-left: auto;
/* Global values */
margin-left: inherit;
margin-left: initial;
margin-left: unset;
The margin-left
property is specified as the keyword auto
, or a <length>
, or a <percentage>
. Its value can be positive, zero, or negative.
Values
<length>
- The size of the margin as a fixed value.
<percentage>
- The size of the margin as a percentage, relative to the width of the containing block.
auto
- The left margin receives a share of the unused horizontal space, as determined mainly by the layout mode that is used. If the values of
margin-left
andmargin-right
are bothauto
, the calculated space is evenly distributed. This table summarizes the different cases:Value of display
Value of float
Value of position
Computed value of auto
Comment inline
,inline-block
,inline-table
any static
orrelative
0
Inline layout mode block
,inline
,inline-block
,block
,table
,inline-table
,list-item
,table-caption
any static
orrelative
0
, except if bothmargin-left
andmargin-right
are set toauto
. In this case, it is set to the value centering the element inside its parent.Block layout mode block
,inline
,inline-block
,block
,table
,inline-table
,list-item
,table-caption
left
orright
static
orrelative
0
Block layout mode (floating element) any table-*
, excepttable-caption
any any 0
Internal table-*
elements don't have margins, useborder-spacing
insteadany, except flex
,inline-flex
, ortable-*
any fixed
orabsolute
0
, except if bothmargin-left
andmargin-right
are set toauto
. In this case, it is set to the value centering the border area inside the availablewidth
, if fixed.Absolutely positioned layout mode flex
,inline-flex
any any 0
, except if there is any positive horizontal free space. In this case, it is evenly distributed to all horizontalauto
margins.Flexbox layout mode
Formal definition
Initial value | 0 |
---|---|
Applies to | all elements, except elements with table display types other than table-caption , table and inline-table . It also applies to ::first-letter and ::first-line . |
Inherited | no |
Percentages | refer to the width of the containing block |
Computed value | the percentage as specified or the absolute length |
Animation type | a length |
Formal syntax
<length> | <percentage> | auto
Examples
Setting left margin using pixels and percentages
.content { margin-left: 5%; }
.sidebox { margin-left: 10px; }
.logo { margin-left: -5px; }
Specifications
Specification | Status | Comment |
---|---|---|
CSS Basic Box Model The definition of 'margin-left' in that specification. | Working Draft | No significant change from CSS 2.1. |
CSS Flexible Box Layout Module The definition of 'margin-left' in that specification. | Candidate Recommendation | Defines the behavior of margin-left on flex items. |
CSS Level 2 (Revision 1) The definition of 'margin-left' in that specification. | Recommendation | Like in CSS1, but removes its effect on inline elements. |
CSS Level 1 The definition of 'margin-left' in that specification. | Recommendation | Initial definition. |
Browser compatibility
BCD tables only load in the browser
See also
margin-top
,margin-right
, andmargin-bottom
and themargin
shorthand- The mapped logical properties:
margin-block-start
,margin-block-end
,margin-inline-start
, andmargin-inline-end
and the shorthandsmargin-block
andmargin-inline
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论