gpt4 book ai didi

jquery - 相对于父级的绝对定位

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:50 24 4
gpt4 key购买 nike

我的假设是在使用绝对定位时,它是相对于父 div 的。但是,这个 jsfiddle 似乎与此不相符。我想要做的是在中心行设置最小高度的三行液体布局。顶部和底部具有固定的高度。不幸的是,我只为 IE7 编码并且没有在我的 CSS 中使用 min-height 的奢侈。使用 JQuery 时,中心会调整大小,但是,页脚不会相对于父元素重新定位。下面的信息和 jsfiddle。

浏览器:IE7

样式:CSS

HTML:4.0 严格

JQuery:1.10.1

jsfiddle

添加 position:relative 和 height 100% 到 wrapper 后的 fiddle jsfiddle

HTML

<div id="wrapper">
<div id="top"></div>
<div id="center"></div>
<div id="bottom"></div>
</div>

CSS

html, body{
width:100%;
height:100%;
}
#wrapper{
background-color:blue;
height:100%;
width:100%;
margin:0px;
padding:0px;
min-width:700px;
}
#top{
position:absolute;
top:0px;
width:100%;
height:100px;
min-width:700px;
background-color:green;
}
#center{
position:absolute;
top:100px;
bottom:20px;
min-width:700px;
width:100%;
background-color:yellow;
}
#bottom{
position:absolute;
bottom:0px;
min-width:700px;
width:100%;
height:20px;
background-color:purple;
}

JQuery

var resizeTimer = false;
function doResize() {
if ($("body").height() == 500) {
//do nothing
}
else if ($("body").height() < 500) {
$("#wrapper").height(500);
$("#center").height(380);

}
else {
$("#wrapper").height("auto");
$("#center").height("auto");
}
resizeTimer = false;
}

$(window).on("resize", function () {
if (resizeTimer) {
clearTimeout(resizeTimer);
}
resizeTimer = setTimeout(doResize, 300);
});

最佳答案

绝对定位是相对于最近的父级(在父级链上)设置了位置(如 position: relativeposition: absolute)。如果父链中的父链都没有设置定位,则绝对定位是相对于文档边界的。

如果你想让position: absolute相对于parent,在parent上设置position: relative。这不会改变父级的位置,但会将子级的定位范围限定为相对于父级而不是相对于某些更高级别的父级或文档。

关于jquery - 相对于父级的绝对定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18922305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com