以下是相关问题的示例:
http://dev.madebysabotage.com/playground/overlay.html
您看到整个页面上都有灰色叠加层,但如果向下滚动,则初始加载页面下方的内容没有叠加层.
我有一个#overlaydiv,它似乎在滚动过程中不保持100%的高度,所以试图找出如何将其拉出来.
这是完整的来源:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CSS Overlay</title>
<style type="text/css">
html {
height: 100%;
min-height: 100%;
}
body {
height: 100%;
min-height: 100%;
font-family: Georgia, sans-serif;
}
#overlay {
background: rgba(0,0,0,0.4);
width: 100%;
height: 100%;
min-height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 10000;
}
header, section, footer {
width: 800px;
margin: 0 auto 20px auto;
padding: 20px;
background: #ff0;
}
section {
min-height: 1500px;
}
</style>
</head>
<body>
<div id="overlay"></div>
<header>
<h1>Header</h1>
</header>
<section>
<p>Here's some sweet content</p>
</section>
<footer>
<p>Here's my footer</p>
</footer>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
小智 5
发生这种情况是因为#overlay position: absolute相对于<html>并且使用它的尺寸,这只是视口高度。
为确保#overlay使用整个页面的尺寸,您可以使用position: relative;on <body>(但您需要在第一个上删除min-height: 100%和height: 100%,<body>因为这使其使用视口大小)。然后#overlay将使用<body>尺寸并填充整个页面。
| 归档时间: |
|
| 查看次数: |
53450 次 |
| 最近记录: |