如何强制隐藏+空<div>占用空间?

Xer*_*ion 3 html css jquery jquery-ui-sortable

请注意,我的问题不是关于如何填充剩余空间 <div>.

背景:我正在尝试使用jQuery sortable与一系列水平布局的<div>,"column"

.column
{
  display:inline-block;
}
Run Code Online (Sandbox Code Playgroud)

现在在FF,一切看起来都不错.在拖动过程中,jQuery可排序注入的"占位符"是空<div>

<div class="column ui-sortable-placehold" 
     style="visibility:hidden;height:[hh]px;width[ww]px;"/>
Run Code Online (Sandbox Code Playgroud)

在"inline-block的"将导致此"占位符"跨越然而,许多[ww]px<div>被拖动了.

(我有选项"forcePlaceholderSize = true")

但是,这在IE7中会崩溃,因为它只知道显示:内联.但是,如果我改为"display:inline"在FF 上使用,占位符将不再跨越[ ww]px.

我尝试了很多解决方法,包括:

  • 指定我自己的占位符样式.
  • 基于jQuery.browser.msie切换css.
  • 动态css表达式.

由于某种原因,它们都没有令人满意地工作.

在我看来,如果只有我可以在空div上强制一个大小,我将能够整齐地解决这个问题.(当然,最简单的解决方案始终是@#$%IE符合标准,以...开头)

好的解决方法欢迎.

请帮忙!

War*_*ung 9

.column {
    /* your stuff here */
    width: 100px;
    height: 200px;
}
Run Code Online (Sandbox Code Playgroud)

您也可以使用相关的CSS属性,如min-width和max-height,但我相信有IE6限制.


hrn*_*rnt 6

使空元素占据空间的经典方法是&nbsp;在其中添加.在这种情况下,这会有帮助吗?

  • 虽然显而易见没有错 - 它可能不是纯粹的CSS,但它有效. (3认同)
  • 这是一个着名但非常丑陋的黑客.请改用css. (2认同)