css - 是否有一种 0 宽度的方法来防止 float div 折叠

标签 css firefox browser safari cross-browser

首先,这个问题不是关于 block 元素在其子元素 float 时折叠。事实上,这个问题与清算完全无关。

问题是这样的。假设我有一系列 float 的 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 的行为。

我意识到我可以添加一个   并且它将保持 div 打开,但在这种情况下这对我不起作用,因为我也有这样的声明:

div.column input { width: 100% }

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

  • 为什么我不用表格代替?因为我使用 Scriptaculous Sortable 来拖放行,这不适用于表格
  • 为什么我不使用较短的像素宽度来为   留出空间? 因为 width: 100% 更准确跨浏览器。
  • 为什么我在隐藏输入时不添加   我可能最终会求助于此,但在 JS 中会有点难看,所以我希望有更好的方法。

这里有人有什么聪明的技巧吗?由于 Safari 和 Firefox 都以这种方式运行,因此我认为这是官方认可的行为。这在 W3C 规范中的何处进行了讨论?

最佳答案

嗯?你不应该给它一个随机的高度吗?你能展示一个演示吗?

关于css - 是否有一种 0 宽度的方法来防止 float div 折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1605218/

相关文章:

Python 浏览器启动

css - sass嵌套问题

css - 为什么 css 定位不起作用?

html - 在网络浏览器上显示 UTF-16 字符

javascript - jQuery .hover() 仅适用于 FireFox

javascript - 浏览器实际上可以将多少 JavaScript 加载到内存中?

javascript - 动态径向进度条

html - 我的 HTML 和 CSS 网站布局有问题

css - Firefox 中的 SVG 背景

html - 使用 CSS @font-face 时,浏览器以什么顺序使用不同的类型?