如果我的 index.html 页面上有两个嵌套的div
元素:
<body>
<div id="parent">
<div id="child"></div>
</div>
</body>
父div
的宽度为900,高度为800
我希望孩子div
位于父div
的右上角,因此,我为子div
定义了CSS,如下所示:
#child {
position: absolute;
top: 0;
right: 0;
width: 300px;
height: 30px;
}
CSS可以让孩子div
位于父div
的右上角。
但是,如果我更改(缩小)浏览器窗口大小,则子div
会在某个时刻消失(隐藏)。
如何让孩子div
始终可见但仍然可以找到
在父div的右上角,无论浏览器窗口大小如何变化?
答案 0 :(得分:2)
给出父亲的相对位置,使孩子的位置相对于它。
#parent {
position: relative;
width: 900px;
height: 800px;
}
#child {
position: absolute;
top: 0;
right: 0;
width: 300px;
height: 30px;
}
编辑:我误解了你的要求,现在当我读到它时,我发现你希望孩子div在页面上保持可见,无论是什么,而不仅仅是在父母的左上角。为此,您需要绑定到窗口调整大小事件,并在窗口宽度小于父宽度时更改子div的位置。通过差异改变正确的位置。
好的,这是jquery,它将按照我想的那样做你要求它做的事情:
$(function(){
$(window).resize(function(){
var delta = parseInt($('#parent').width(), 10) - parseInt($(window).width(), 10);
if (delta > 0) {
$('#child').css('right', delta);
}
});
});
两件事:
答案 1 :(得分:0)
根据您希望如何调整父级的大小,您可以执行以下操作之一:
设置#parent size,使用max-width而不是width
#parent {
position: absolute;
max-width: 300px;
height: 100%;
}
尺寸#parent width with percentnts
#parent {
position: absolute;
width: 100%;
height: 100%;
}
或者只需使用以下内容调整#parent的大小:
#parent {
position: absolute;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
}
在这种情况下,使用2或3几乎完全相同,但是如果你想在#parent周围留出一些额外的空间,2可以提供更大的灵活性。