回答
这给CSS添加#wrapper
:
height: 100%;
position: relative;
这部作品的原因是因为你绝对定位的元素由于没有任何其他containing block而相对于视口定位。通过将position: relative
添加到#wrapper
(或针对该问题的body
),请确保包含的块代替整个主体内容。
然后只需要height: 100%
以确保包含块至少到达视口的底部。
#footer{z-index: 1000;}
#logo{z-index: 1001;}
永远不要他们占用相同的空间。如果视口小于可用区域,则页脚应低于徽标。 – 2009-08-17 22:48:27
z-index是你所需要的。虽然1000是有点过分简单
#footer{ z-index:2; }
#logo{ z-index:3; }
会做的伎俩
要记住,这是非常有用的,不指定z-index
,元素堆叠在z顺序的最新元素“最高”。所以,如果你想避免指定z-index
,扭转HTML:
<body>
<div id="wrapper">
<div id="footer">
This is the footer. It should always appear at the bottom of the page, but not over the red box.
</div>
<div id="logo">
<h1>Logo</h1>
</div>
</div>
</body>
否则,对方的回答表明,指定为#logo
比为#footer
更大的数量将导致#logo
更高。
要强制滚动条时,视口窗口< 400像素,
#wrapper {
min-width: 400px;
min-height: 400px;
overflow: scroll; /* or overflow: auto */
}
如前所述,更改z-index只会使标志显示在页脚上方。我不希望它们重叠。如果视口被调整大小以缩短高度,那么两个项目组合起来应该显示滚动条并将页脚堆叠在徽标下方。 – 2009-08-17 23:06:14
溢出:滚动将始终显示滚动条,而自动将检测滚动条是否必要(正如您可能知道的),但只是澄清。 – Tres 2009-08-17 23:07:51
Z-Index在这里不是一个因素。 Z-Index仍然允许元素重叠 - 它只会指示哪个元素位于顶部。
使用浮子荷兰国际集团元件在凭证流红色DIV后,然后上的黄色用的清楚创建的元素之间的关系(即,黄色DIV将清楚红色和不会重叠)。
夹紧相对尺寸的元件(例如,height:100%)将会将黄色div推到屏幕的底部,但是要正确垂直对齐可能会很棘手。
- 1. 绝对定位的内部div与父div的内容重叠
- 2. 位置:绝对内部位置:相对原因内容重叠
- 3. div div内绝对定位和负边距重叠内容
- 4. 父亲的绝对定位重叠内容的Chid Div
- 5. 重叠绝对定位divs
- 6. 绝对定位重叠div
- 7. 绝对定位的内容重叠页脚
- 8. 力绝对定位的div不重叠
- 9. 位置绝对和溢出隐藏重叠内容
- 10. 绝对定位图像 - 无重叠
- 11. Flexbox重叠绝对定位儿童
- 12. 与“位置:固定”重叠的内容
- 13. 绝对定位图像时会导致它后面的所有内容重叠
- 14. 防止在窗口调整时重叠内容的绝对定位DIV
- 15. css绝对位置内部相对位置不重叠
- 16. 当某些动态元素需要绝对定位时,避免重叠内容
- 17. 相对定位内的绝对定位?
- 18. 如何使页脚尊重绝对定位的内容高度?
- 19. 绝对定位的div在另一个绝对定位的div内容不是内容
- 20. 重叠段落与位置:绝对内相对框
- 21. 相对定位div重叠底部内容
- 22. 定位内绝对相对
- 23. 绝对内相对定位?
- 24. 绝对定位的div div滚动内绝对定位的父
- 25. 内容重叠
- 26. 内容/重叠
- 27. 绝对位置内的绝对位置:绝对定位父块的宽度
- 28. 绝对位置的内联块在相对块内折叠
- 29. 绝对定位的孩子重叠父滚动条
- 30. 绝对定位div中的文本重叠
宾果,这个按预期工作。谢谢。在IE6中不起作用,但我认为这不是一个大问题,如果可以的话,我可以添加最小高度的黑客。 – 2009-08-17 23:09:40
而实际上,你是否需要其他包装?因为给定所有当前的CSS,'#wrapper'是不必要的。你可以将它的所有属性(包括上面的)移动到'body'。 – mercator 2009-08-17 23:13:35