即使内容里面没有扩大

我有一个彼此内部的div的堆栈,所有这些都只有一个指定CSS的ID。

但是由于某些原因,周围的DIV标签只扩展到了指定的高度值,而不是默认的自动,这意味着虽然内容是内部的,但是DIV仅仅是一个特定的高度。 我需要它来调整它的大小(因为会有用户提交的数据可能在500+以上的段落中被回显出来)。

这是我的HTML

<div id="albumhold"> <div id="albumpic">Pic here</div> <div id="infohold"> <div id="albumhead">Name | Date</div> <div id="albuminfo">Information</div> </div> 

和HTML代码的CSS:

 #albumhold { width: 920px; padding: 10px; height: auto; border: 1px solid #E1E1E1; margin-left: auto; margin-right: auto; background-color: #E1E1E1; background-image: url(../global-images/albumback.png); background-position: top center; background-repeat: repeat-x; } #albumpic { display: block; height: 110px; width: 110px; float: left; border: 1px solid #000; } #infohold { width: 800px; background-color: #CCC; float: right; height: 20px; } #albumhead { width: 800px; height: 20px; text-indent: 10px; border: 1px solid #000; color: #09F; } #albuminfo { margin-top: 5px; width: 800px; float: right; color: #09F; word-wrap:break-word; } 

非常感谢帮助。

浮动元素不占用其包含元素中的任何垂直空间。

#albumhold内的所有元素都是浮动的,除了#albumhead ,看起来不会占用太多空间。

但是,如果添加overflow: hidden;#albumhold (或其他一些CSS来清除内部的浮动内容 ),它将扩展其高度以包含浮动的孩子。

有两个解决scheme来解决这个问题:

  1. 使用clear:both在最后一个浮动标签之后。 这很好。
  2. 如果你有固定的高度为您的div或剪辑的内容是好的,去与: overflow: hidden

你可能需要一个明确的修复。

尝试这个:

我可以使用什么“clearfix”方法?

在最后一个浮动div之后<br clear="all" />对我来说是最好的。 感谢Brent Fiare和Paul Waite提供的浮动div的信息不会扩大父div的高度! 这一直让我疯狂! ; – }

在最后浮动的div为我工作之后添加<br style="clear: both" />

你在.infohold上有一个固定的高度,所以.albumhold div只会加上.infohold(20px)+ .albumpic(110px)的高度加上我没有包括的任何填充或边距。

尝试删除.infohold上的固定高度,看看会发生什么。

div不会扩大,如果它有其他浮动div内,所以删除浮动内部divs,它会扩大…

您没有inputid为“infohold”的div中的closingtag