保证金底部 100% 和保证金顶部 -100% 不起作用



当我使用margin-top时,我很难理解为什么我的第三个div没有堆叠在-100%的高度。我正在使用 Greensock 制作div 运动的动画,左边距非常适合第一个div。但是当我尝试将上部div 向下移动时,它要高得多。我知道高度是基于宽度的,但据我所知,如果我使用 100%,尺寸是多少并不重要。我首先尝试使用边距底部,但没有奏效。任何帮助将不胜感激。谢谢。这是jsFiddle https://jsfiddle.net/kqyyq78q/

<body>
<a id="overlay"></a>
<div id="start">
<img src="http://imgh.us/roadtest1.svg" id="road" />
</div>
<div id="num1">
<img src="http://imgh.us/roadtest2.svg" id="road" />
</div>
<div id="num2">
<img src="http://imgh.us/roadtest3.svg" id="road" />
</div>
</body>
html,
body {
width: 100%;
height: 100%;
margin-top: 0;
margin-bottom: 0;
margin-right: 0;
margin-left: 0;
overflow: hidden;
font-size: 100%;
position: absolute;
}
#overlay {
z-index: 8;
position: fixed;
margin-left: 50%;
padding-top: 20%;
}
#road {
width: 100%;
height: auto;
}
#start {
width: 100%;
height: 100%;
position: fixed;
text-align: center;
}
#num1 {
width: 100%;
height: 100%;
position: fixed;
margin-left: 100%;
}
#num2 {
width: 100%;
height: 100%;
position: fixed;
margin-top: -100%;
}

正在发生的事情是,您在边距上使用百分比,就好像它们相对于图像的高度一样。

边距和填充的百分比相对于宽度。这意味着只要标记的宽度不等于其高度,您的margin-top: -100%;规则就会超过标记。另一方面,css 规则top: -100%;基于高度,并且可以工作

我已经对您的代码进行了一些更改,以显示一个工作示例。

#num2 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: -100%;
}

最新更新