2009-10-22 50 views
0

首先,这个问题不是关于当他们的孩子浮动时块元素崩溃。事实上,这个问题与清算无关。有没有0宽度的方法来防止浮动div崩溃

问题是这样的。假设我有一个像一系列浮动的div:

<div class="column">Column 1</div> 
<div class="column"></div> 
<div class="column">Column 3</div> 

用CSS:

div.column { float: left; width: 200px; } 

中间一列将在最新版本的Firefox和Safari浏览器的崩溃,但显然不是IE7。 我想要的是IE7的行为。

我知道我可以添加一个&nbsp;,它会保持开放的div,但是,这并不适合我在这种情况下工作,因为我也有有这样的声明:

div.column input { width: 100% } 

我有一系列的列以类似于表格的格式放置,某些情况导致输入字段消失。问题在于输入消失时字段崩溃。如果我添加&nbsp;它会导致div换行。只是为了避免最初的问题:

  • 为什么我不使用表?因为我正在使用Scriptaculous Sortable来拖放行,而这些行不适用于表格
  • 为什么我不使用较短的像素宽度为&nbsp;留下空间?因为width: 100%在各浏览器中更准确。
  • 为什么我不添加&nbsp;当我隐藏输入我可能最终诉诸于此,但它会在JS有点丑,所以我希望有一个更好的方法。

有没有人有任何聪明的黑客在这里?由于Safari和Firefox都采用这种方式,我认为这是官方认可的行为。 W3C规范中讨论了哪些内容?

回答

1

Eh?难道你不应该给它一个随机的高度吗?你能演示一个演示吗?

+0

嗯,这是一种尴尬,我不知道。 – gtd 2009-10-22 05:54:25