如果我像这样设置div的CSS边距属性:
div { margin-left: auto; margin-right: auto; }
我得到一个div,它在页面中水平居中,就像这样。
但是,如果我将CSS更改为此:
div { margin-top: auto; margin-bottom: auto; }
我的div不在垂直居中。我并不需要知道一个解决方法(大量的解决方案都可以),但我想知道这种行为的原因。为什么上边距和下边距不能以相同的方式工作?我想念什么?
简短的答案是规格说明。
10.6.2内联替换元素,正常流中的块级替换元素,普通流中的“内联块”替换元素和浮动替换元素 如果’margin-top’或’margin-bottom’为’auto’,则它们的使用值为0。
如果’margin-top’或’margin-bottom’为’auto’,则它们的使用值为0。