所以这个一直难倒我。我需要的是一个绝对定位的容器,它带有一个将其固定到页面底部的 css 表达式(以补偿在模拟 doctypeless 或 DTD-less IE 的固定定位时的不稳定),同时包含另一个绝对定位的元素,在某些时候是在浏览器的视口下方。由于这是将包含在其他人网页中的内容,因此我不能依赖正确的文档类型才能正确显示。任何将内部元素放在视口下方的东西——填充、边距或定位——都会导致页面在 IE 中永远滚动。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<style type="text/css">
#footer {
position: expression("absolute");
_top:expression(document.body.scrollTop+document.body.clientHeight-this.clientHeight);
width:800px;
height:800px;
background-color:blue;
}
#huh {
position:absolute;
bottom:-20px;
width:400px;
height:400px;
background-color:red;
}
<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh<br/>eh
<div id="footer">
<div id="huh">
</div>
</div>
</body>
</html>
两者都需要绝对定位真的让我对此束手无策。在我的非测试用例中,相对定位 huh div 与包装器的显示相混淆。有任何想法吗?