保证金底部 100% 和保证金顶部 -100% 不起作用
Margin Bottom 100% and Margin Top -100% not working
我无法理解为什么我的第三个 div 在我使用 margin-top 时没有以 -100% 的高度堆叠。我正在使用 Greensock 为 divs 的运动制作动画,而 margin-left 对于第一个 div 非常有效。但是当我尝试将上面的 div 向下移动时,它会更高。我知道高度是基于宽度的,但据我了解,如果我使用 100%,尺寸是多少并不重要。我首先尝试使用 margin-bottom 但它没有用。任何帮助将不胜感激。谢谢你。这是 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%;
是基于身高的,并且会起作用。
我稍微修改了您的代码以显示 a working example of this。
#num2 {
width: 100%;
height: 100%;
position: absolute;
top: -100%;
}
我无法理解为什么我的第三个 div 在我使用 margin-top 时没有以 -100% 的高度堆叠。我正在使用 Greensock 为 divs 的运动制作动画,而 margin-left 对于第一个 div 非常有效。但是当我尝试将上面的 div 向下移动时,它会更高。我知道高度是基于宽度的,但据我了解,如果我使用 100%,尺寸是多少并不重要。我首先尝试使用 margin-bottom 但它没有用。任何帮助将不胜感激。谢谢你。这是 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%;
是基于身高的,并且会起作用。
我稍微修改了您的代码以显示 a working example of this。
#num2 {
width: 100%;
height: 100%;
position: absolute;
top: -100%;
}