Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 无浮动或位置的并排Divs:绝对_Html_Css_Content Management System - Fatal编程技术网

Html 无浮动或位置的并排Divs:绝对

Html 无浮动或位置的并排Divs:绝对,html,css,content-management-system,Html,Css,Content Management System,我试图找到一种方法,在不使用浮动或position:absolute的情况下并排放置div。div将有一个设置的宽度,其中可能有浮动元素。这适用于CMS,用户可以拖动内容元素来组织它们。它们不必是div,我只是不知道还有哪种类型的HTML标记可以更好地工作 基本上,最终的结果是CMS,用户可以通过拖动内容元素来组织内容元素。不幸的是,如果你想做任何事情,包括把div放在彼此下面,所有的东西都会下降到它上面最高的div下面,即使它可以放在其他东西下面。i、 e.3个构件,其中2个构件应堆放在左侧,

我试图找到一种方法,在不使用浮动或position:absolute的情况下并排放置div。div将有一个设置的宽度,其中可能有浮动元素。这适用于CMS,用户可以拖动内容元素来组织它们。它们不必是div,我只是不知道还有哪种类型的HTML标记可以更好地工作

基本上,最终的结果是CMS,用户可以通过拖动内容元素来组织内容元素。不幸的是,如果你想做任何事情,包括把div放在彼此下面,所有的东西都会下降到它上面最高的div下面,即使它可以放在其他东西下面。i、 e.3个构件,其中2个构件应堆放在左侧,第三个构件应堆放在右侧,其高度介于两者之间


Inline block不受IE支持(尽管我很想成为一个傻瓜,只是需要一个chrome框架…),而且无论如何也不能用于此目的。

我有点困惑,你提到了拖动元素,但你的标题说明你不想使用position:absolute作为解决方案。。。据我所知,大多数脚本在拖动过程中都会使用它,那么为什么不使用它来定位它们,将它们并排放置呢?

我能想到的唯一不使用您提到的技术的选项(
位置:绝对
显示:内联块
,和
浮点
)是使用表

<table>
    <tr>
        <td><div id="div1">...content...</div></td>
        <td><div id="div2">...content...</div></td>
    </tr>
</table>

这是我能想到的最好的方法,我不喜欢将表格用于非表格目的。但每个人都有自己的=/

您是否正在寻找拖放和组织内容的方法?你看过jQueryUI的“可排序”吗


是否有固定数量的列(即并排水平排列的元素)?如果是的话,我能想到的一件事就是有很多浮动的无序列表,每个元素都是一个li
当一个元素在同一个ul中拖放时,它在ul中的索引将改变。当其拖过uls时,它将从此列表中删除,并附加到另一个列表中,并按案例1的方式排列。现在就有个主意。。。将必须尝试它

在拖动元素时使用绝对位置,但放置后,将不再使用绝对位置。现在我使用jqueryUI可排序函数来完成这项工作,但我正在对它进行彻底的修改,使其更加健壮。我不能使用position Absolute的原因是因为div中可能有漂浮的元素,这会导致这些元素到处都是。但是,考虑到您要求将较短的项目堆放在较高的项目旁边(如您所述),我觉得将所有项目都放在绝对位置是合理的,无论它是否被拖动。为什么您不希望在拖动事件后将其完全放置?如果它适用于移动元素,那么将其留给固定元素似乎不是一个大问题。我知道浮动行为因浏览器而异,我也没有具体尝试您尝试执行的操作,但一般来说,我认为浮动应该根据它们所在的容器保持在原位,因此,我不确定在绝对定位的div中浮动元素如何会成为在特定div中保持它们的问题。它们不应该在div之间相互交互,因为每个绝对元素都应该在页面流之外。我只是测试了一下,以再次检查自己。出于某种原因,我认为如果容器设置为position:absolute,float会忽略它们的容器。我想当我得出这个结论的时候,我也弄乱了显示:内联导致了。。。不管是哪种方式,是的,它看起来像position:absolute是这样做的。不幸的是,将它用作表会产生与我提到的float相同的问题。如果您只是创建列,它可以正常工作,但是如果您在下一行有一些div,那么事情就不会像用户认为的那样组织起来。不,我没有固定数量的列,用户创建的任何列都不一定跨越整个文档。该系统关注自由浮动块而不是列。不,我不是在寻找拖放的方法。这实际上是我最初使用的,但我现在正在对其进行大修,以使其更加健壮,因为如果对象具有设定的宽度,那么仅将其排序在3d中会变得不稳定,并且无法处理额外的空白等问题。我正在对其进行大修,使其成为一个只使用jquery ui的可拖动的系统,通过一些调整,使其捕捉到与photoshop一样的边对齐,并能够将div放置在具有浮动的其他div中。
<div id="container">
    <div id="div1">...content...</div>
    <div id="div2">...content...</div>
</div>
#container {display: table; } /* you might need another child div with 'display: table-row' but I can't remember off-hand */
#div1 {display: table-cell; width: 50%; /* other css */}
#div2 {display: table-cell; /* width: 50%; other css */}