2012-01-10 112 views
1

我有一个100%的高度和一个坚实的边界的div。当我的内容太多时,它会显示在div边框之外。div不会包含里面的所有内容

如何将div扩展到边框内所有内容的高度而不是屏幕尺寸的100%?

高度:100%似乎在测量屏幕高度,但不是它内部的内容。

<style> 
#container{ 
    height:100%; 
    width:100px; 
    border:1px solid black; 
} 
</style> 
<div id="container"> 

link到问题的示例页面

回答

2

使用难以捉摸的clearfix可以轻松解决这样的问题!首先,删除所有这些height:100%;声明,你有你的#container,不是在需要的时候,并尝试这在你的CSS:

#container:before, #container:after { 
    display: table; 
    content: ""; 
    zoom: 1; 
} 

#container:after { 
    clear: both; 
} 
+0

工作像一个魅力 – user1082764 2012-01-10 23:46:33

+0

我想知道tho,我似乎无法得到在底部使用clearfix方法的页脚我有高度:50px;清除:两者;但它不会给自己的空间在div的底部 – user1082764 2012-01-11 00:14:07

+1

@ user1082764再次看看你的网站,你没有正确地声明你的页脚,删除你的'position:absolute'声明,并声明一个宽度,和容器一样,''宽度:960px',它应该将其自身放到底部。 – 2012-01-11 00:17:48

1

你有一些问题,你的浮动元素(这是飞在容器外),所以,对于正确的这种使用overflow:hidden容器

#container{ 
    width:100px; 
    border:1px solid black; 
    overflow: hidden; 
} 
2

绝对定位的元素不会改变其容器的高度。您的远程元素具有绝对的定位,因此将在未通知其集装箱高度要求的情况下进行布置。

+0

以及我有是,100%的测量与屏幕尺寸的问题,但不是里面的内容。我的笔记本显示一个非常小的盒子边框,但在我的桌面上,边框几乎覆盖了一切。 – user1082764 2012-01-10 23:34:12

+0

一个邮件:相对不是解决方案,因为问题是在容器外漂浮的元素 – eveevans 2012-01-10 23:35:47

+0

问题是元素漂浮在容器外部。 div与背景的问题就是我试图解决的问题。当屏幕分辨率改变时,div高度会改变。 – user1082764 2012-01-10 23:38:52