我有以下 HTML/CSS(简化):
<body>
<style>
body
{
margin: 0px;
padding: 0px;
color: #fff;
background-color: #090909;
text-align: center;
}
#content
{
width: 500px;
margin: 0px auto;
background-color: blue;
}
#header
{
width: 500px;
margin: 0px auto;
background-color: green;
}
#over-div {
background-color: red;
position: absolute;
height: 20px;
width: 100%;
margin: 0px;
top: 0px;
left: 0px;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
-khtml-opacity: 0.5;
-moz-opacity: 0.5;
opacity: 0.5;
}
</style>
<div id="over-div">aa</div>
<div id="header">
header
</div>
<div id="content">
content here
</div>
</body>
这个想法是让 over-div 完全覆盖页面的上部(但不要让它固定在那里,所以当用户向下滚动页面时它不可见)。
如果你极度放大(Ctrl+滚轮)直到出现水平滚动条,你可以看到完全向右滚动后,over-div并没有完全覆盖到窗口右侧的标题。
我希望 width:100% 意味着“始终使用 100% 的身体宽度”,但对于绝对定位的 div 来说似乎并非如此。
测试的浏览器:Firefox 3.5、Chrome、IE8(有和没有兼容模式)。
有什么方法可以让 div 覆盖 100% 的页面宽度?