我有以下HTML:
<div id="contents">
<div id="inner">Inner Div</div>
</div>
<div id="footer">Footer</div>
应用以下CSS:
#contents {
position: relative;
}
#inner {
position: absolute;
background-color: green;
width: 100%;
}
#footer {
background-color: red;
}
问题是#footer
在#contents
下崩溃了。您也可以在jsfiddle上查看http://jsfiddle.net/MAhmadZ/YkJMH/1/
注意:这只是较大页面的摘要。我别无选择,只能使用position
属性。我在div
内有多个#contents
所有绝对位置,一次只显示1个。我无法确定身高
答案 0 :(得分:5)
#contents
元素在通过绝对定位从流程中取出后为空,因此它的高度为零,因此#inner
在其下方崩溃。
如果你给#footer
一个高度或一些垂直填充,它应该阻止#contents
在你绝对定位的元素下滑动。
答案 1 :(得分:2)
这应该解决它:
#contents {
position: relative;
}
#inner {
position: absolute;
background-color: green;
width: 100%;
}
#footer {
background-color: red;
position: absolute;
width: 100%;
bottom: 0;
}
您的问题是#inner
绝对定位。这使得HTML布局的 STATIC 格式不可见。
答案 2 :(得分:0)
不太确定要实现的目标,但您可以将页脚设置为使用位置:固定和底部:0px以将其保留在页面底部。
答案 3 :(得分:0)
我自己想出了以下解决方案:
#footer:before {
content: '.';
display: block;
width: 100%;
}