【发布时间】:2013-04-03 11:16:52
【问题描述】:
好的,我真的很难理解 float 属性的行为。
页面宽度为 750 像素。为了保持它位于屏幕的中心,我使用了以下代码:
<div align="center">
<div align="left" style="width:750px; border-style:double;">
stuff
</div>
</div>
主 750 像素宽容器中的元素是具有以下样式的其他容器:
div.infoCont //these containers usualy have two more containers within- for an image and text
{
width: 740px;
position: relative;
left: 2px;
border-style: double; //for debugging
float: left;
}
div.textContNI //text only
{
width: 730px;
float: left;
clear: right;
border-style: double; //for debugging
}
小容器表现正常(它们应该是正常的,因为它们的位置和我想要的一样大)。但是主容器的高度比较小容器的总高度要小很多...... 0 px。它会忽略所有较小容器的高度。
这可以通过在主容器的结束标记之前添加文本来“修复”。我还可以使用<br> 标签而不是文本来操纵高度:高度变得与边框的总高度一样大。另一种“解决”问题的方法是在样式中添加float:left;,但这会将容器定位在窗口的左侧,我不能这样做。
我遗漏了一些东西,我不知道它是什么。
为什么主容器会忽略其中容器的总高度,我该如何解决这个错误?
【问题讨论】:
-
我看到你漂浮在左边,但没有清理容器。
-
看看这篇关于浮动元素和清除它们的文章:quirksmode.org/css/clearing.html
-
明确:两者;将其添加到 css
-
附带说明,
clear: right;没有任何用处,因为没有任何东西浮动到右侧。
标签: html css css-float containers