【发布时间】:2014-02-17 10:56:48
【问题描述】:
这是JSFiddle link。 这是 CSS 代码:
body, html {
background-color: #EAEAEA;
height: 100%;
margin-right: 0;
margin-left: 0;
padding-right: 0;
padding-left: 0;
padding-top: 0;
margin-top: 0;
overflow: hidden;
}
.a {
position: absolute;
height: 13%;
background-color: #070000;
width: 86%;
}
.b {
position: absolute;
height: 86%;
background-color: #FF0000;
width: 13%;
margin-left: 87%;
}
.c {
position: absolute;
height: 86%;
margin-top: 14%;
background-color: #00FF00;
width: 13%;
}
.d {
position: absolute;
height: 13%;
margin-top: 87%;
background-color: #0000FF;
width: 86%;
margin-left: 14%;
}
我一直在制作一个包含 4 个元素的页面,我遇到的问题是,在调整浏览器窗口大小时,元素的宽度(以及它们之间的边距)会按我的预期发生变化,但出于某种原因,元素可以开始垂直重叠,即使,例如,黑色元素(div 类 a)的高度是 13%,绿色元素的高度是 86(div 类 c)%,绿色元素有一个绝对位置和margin-top值为14%。
蓝色元素(div 类 d)的位置可能低于浏览器窗口的下边缘(尽管它的顶部边距为 87%,高度为 13%,但对我来说,它的位置似乎是合乎逻辑的在窗口的最底部;不高也不低)。
发生了什么事?我希望元素精确定位在浏览器窗口的边缘,在窗口大小变化时自动调整大小而不是重叠)。我计划使用 jQuery 使垂直和水平边距匹配。但是现在,我需要了解为什么我的 CSS 代码没有按预期工作。
【问题讨论】: