如果我像这样设置 div 的 CSS margin 属性:
div { margin-left: auto; margin-right: auto; }
我得到一个在页面中水平居中的 div,like so http://jsfiddle.net/T8Hnb/.
但是,如果我将 CSS 更改为:
div { margin-top: auto; margin-bottom: auto; }
我的 div 没有垂直居中。我不需要知道解决方法(大量的解决方案 http://www.jakpsatweb.cz/css/css-vertical-center-solution.html 可用 http://www.wpdfd.com/editorial/thebox/deadcentre4.html)但我想知道这种行为的原因。为什么 margin-top 和 margin-bottom 的工作方式不同?我缺少什么?
简短的回答是规范是这么说的。
10.6.2 内联替换元素、正常流中的块级替换元素、正常流中的“内联块”替换元素和浮动替换元素
如果 'margin-top' 或 'margin-bottom' 为 'auto',则它们的使用值为 0。
http://www.w3.org/TR/CSS2/visudet.html#Computing_heights_and_margins http://www.w3.org/TR/CSS2/visudet.html#Computing_heights_and_margins
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)