css – 为什么没有margin-top:auto和margin-bottom:自动工作与左右对应的一样?

前端之家收集整理的这篇文章主要介绍了css – 为什么没有margin-top:auto和margin-bottom:自动工作与左右对应的一样?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我设置一个div的CSS边距属性,就像这样:
div { margin-left: auto; margin-right: auto; }

我得到一个水平位于页面like so的div。

但是,如果我将CSS更改为:

div { margin-top: auto; margin-bottom: auto; }

我的div不是垂直居中的。我不需要知道解决方法(plenty of solutions are available),但我想知道这个行为的原因。为什么边际上线和边缘底线的工作方式不一样?我失踪了什么

解决方法

简单的答案是规范说的。

10.6.2 Inline replaced elements,block-level replaced elements in normal flow,‘inline-block’ replaced elements in normal flow and floating replaced elements

If ‘margin-top’,or ‘margin-bottom’ are ‘auto’,their used value is 0.

http://www.w3.org/TR/CSS2/visudet.html#Computing_heights_and_margins

原文链接:https://www.f2er.com/css/218582.html

猜你在找的CSS相关文章