即使内容里面没有扩大
我有一个彼此内部的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来解决这个问题:
- 使用
clear:both
在最后一个浮动标签之后。 这很好。 - 如果你有固定的高度为您的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 。