Div高度100%并扩展以适应内容
我的页面上有一个div元素,其高度设置为100%。 身体的高度也设置为100%。 内部div有一个背景,所有这一切,不同于身体背景。 这适用于使div高度达到浏览器屏幕高度的100%,但问题是我在该div内的内容超出了浏览器屏幕高度的垂直范围。 当我向下滚动时,div终止于您必须开始滚动页面的位置,但内容超出了该范围。 我如何让div始终走到底部以适应内容?
这是我的CSS的简化:
body {
height:100%;
background:red;
}
#some_div {
height:100%;
background:black;
}
一旦我滚动页面,黑色结束,内容流入红色背景。 似乎无论我在#some_div上是将相对位置还是绝对位置设置为位置,都会出现问题。 #some_div内的内容绝大部分都是绝对定位的,并且它是从数据库动态生成的,因此其高度无法预先知道。
编辑:这是一个问题的截图:
这里是你应该做的CSS样式,在主div
display: block;
overflow: auto;
不要碰height
将height
设置为auto
并将min-height
为100%
。 这应该可以解决大多数浏览器的问题。
body {
position: relative;
height: auto;
min-height: 100% !important;
}
通常这个问题出现在Parent Div的Child元素被浮动时。 这是问题的最新解决方案 :
在你的CSS文件中,写下下面的类,叫做.clearfix以及伪选择器:after
.clearfix:after {
content: "";
display: table;
clear: both;
}
然后,在您的HTML中,将.clearfix类添加到您的父级Div。 例如:
<div class="clearfix">
<div></div>
<div></div>
</div>
它应该始终工作。 您可以将类名称称为.group而不是.clearfix,因为它会使代码更加语义化。 请注意,不需要在双引号“”之间的内容值中添加点或甚至空格。 另外, 溢出:自动; 可能会解决问题,但它会导致其他问题,如显示滚动条,不推荐。
资料来源:Lisa Catalano和Chris Coyier博客
链接地址: http://www.djcxy.com/p/15503.html