0

我有一堆绝对定位的 html,然后是应该显示的 html 片段。但他们超过了一圈。

http://jsbin.com/okamot/1/edit

下面的所有东西都.drag-drop应该是绝对放置的,所以高度和宽度都.drag-drop为零。展览按钮和展览文本应该显示在粗体之后This is Drag and Drop Item。但是因为 的高度.drag-drop为零,它显示在 .drag-drop 的内容之上。

我以前遇到过这个问题,但幸运的是,计算孩子的高度很容易,.drag-drop然后我将.drag-drop使用javascript设置的高度。这一次更难,因为它包含更多的孩子,而且他们不是恒定的。我将如何更改我的 css 以使 Exhibit 显示在拖放下方?

4

2 回答 2

1

Absolute positioning removes the element from the layout, therefore the children are no longer part of the calculation of the parent's sizing. You'll need to use JS to solve this.

于 2013-07-18T19:50:08.397 回答
1

最好的方法是根本不使内容绝对定位。你能让它们相对定位,还是浮动它们?您仍然可以操纵它们的位置、高度、宽度等,并且它们将具有布局,因此包含的 div 将具有正确的高度。

请注意,如果您浮动它们,您可能需要在包含 div 的底部添加一个“浮动断路器”以使其正确计算高度: .... <div>some floated content</div> <br style="float: none;"/> // float-breaker right before containing div closes </div>

否则前面的回答者是正确的,你需要一些 js 黑客。

于 2013-07-18T19:59:18.163 回答