GoodProgrammerweb前端分享不同CSS元素margin的计算:内联级元素 内联、非替换元素:如果margin值为auto,则margin-left和margin-right的计算值为0 Inline,替换元素:同上 Inline-block,文档流中的替换元素:同上 Inline-块,文档流中的非替换元素:同上'margin-left'+'border-left-width'+'padding-left'+'width'+'padding-right'+'border-right-width'+'margin-right'=containingblock的宽度 以下情况,如果margin值为auto 如果宽度为auto值,则其他值的值为auto0 如果margin-left和margin-right的值为auto,使用的值相等,则相对于包含块水平居中。 块级替换元素, 与文档流中的块级非替换元素相同。 总结 行内级替换元素和非替换元素,当margin值为auto时,margin-left和margin-auto的计算值都为0。 块级替换元素和非替换元素:'margin-left'+'border-left-width'+'padding-left'+'width'+'padding-right'+'border-right-width'+'margin-right'=包含块的宽度 如果宽度是auto值,那么其他值为auto的值为0 如果margin-left和margin-right的值为auto,则使用相等的值,然后相对于包含块水平居中。该百分比是根据生成的框的包含块的宽度计算的。请注意,对于margin-top和margin-bottom也是如此。
