在这个JSFiddle中
div的保证金最高可达50%.我希望调整到页面高度.
但是,如果您在Firefox(3和4)中调整窗口大小,您将看到div的垂直位置受页面宽度的影响,但不受页面高度的影响.
为什么?
它看起来似乎是违反直觉的,但实际上是根据边距的盒子模型,其中说明了CSS级别2.1规范:
百分比是根据生成的框的包含块的宽度计算的.请注意,对于"margin-top"和"margin-bottom"也是如此.如果包含块的宽度取决于此元素,则在CSS 2.1中未定义结果布局.
而在CSS3规范中(更清楚地说是IMO):
请注意,在水平流中,'margin-top'和'margin-bottom'的百分比是相对于包含块的宽度而不是高度(在垂直流中,'margin-left'和'margin-right'是相对于高度,而不是宽度).
(大胆强调我的.)