jquery - margin 底部 100% 和 margin 顶部 -100% 不起作用

标签 jquery html css margin gsap

我无法理解为什么当我使用 margin-top 时我的第三个 div 没有堆叠在 -100% 高度。我正在使用 Greensock 为 div 的运动制作动画,而 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%;
}

关于jquery - margin 底部 100% 和 margin 顶部 -100% 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35215948/

相关文章:

html - 如何让我的按钮组 <div> 固定在导航栏的底部?

html - 可伸缩页眉和页脚的语义标记

javascript - 基于单选按钮选择禁用按钮

javascript - 如何隐藏图表工具提示的标题?

html - 使用背景图像替换菜单中的文本链接

php - 将 PHP 放入 HTML 等于 PHP 变量的正确方法?

javascript - 如何在 Jquery 中切换动画

javascript - 在其他内容之前加载 iframe

javascript - 选中复选框时如何激活行的链接

javascript - 创建表格标题的双向固定滚动