基本上这就是文档的样子:
<body>
<div id="content_holder">
<div class='all_links'>
</div>
<div class="item">
<div class="notice"></div>
</div>
</div>
<div id="bottom_nav">
</div>
</body>
和CSS:
html, body {
margin: 0;
padding: 0;
min-height: 100%;
}
body{
overflow-y:scroll;
min-width: 1024px;
}
#content_holder{
min-height: 100%;
}
.item {
width: 800px;
position: relative;
top: 100px;
left: 50%;
margin-left: -400px;
text-align: center;
min-height: 100%;
}
关于最小高度的此特定页面html, body, .item
属性的问题在百分比中不起作用。
在其他页面上一切正常。 .item
的父母是身体。我不知道这里有什么问题。
当我使用Chrome Dev Tool检查高度时,此页面上的身高是360px,当然,这比它的两倍要小。
为什么?
UPD :fiddle
我发现,高度属性不适用于#content_holder
,适用于身体
答案 0 :(得分:2)
如果在百分比中的任何元素上设置了height
,那么它的直接父元素必须指定height
(不是百分比,而是px
或em
)。
该规则的奇怪例外是<html>
元素,如果给定height: 100%
,则直接子元素可以以height
作为百分比(即<body>
元素)。
至于设置min-height: 100%
,这会将初始大小设置为100%高度,并允许元素超过该高度。
我很确定min-height
也遵循上述height
规则 - 对于任何以min-height
为单位的元素集,其'直接父元素必须height
1}}指定(不是百分比),但<html>
元素以height
为百分比设置除外。
但是,如果元素将height
设置为px
或em
值,并且其'immediate子元素将height
设置为百分比,则孙元素的height
可以设置为百分比,依此类推......
答案 1 :(得分:1)
只需将min-height: 100%
更改为height: 100%
。
网页的高度为浏览器屏幕的100%,或内容高度的100%,以较大者为准。