具有不同高度的CSS浮动div与它们之间的空间对齐

具有不同高度的CSS浮动div与它们之间的空间对齐,css,html,css-float,Css,Html,Css Float,我使用左浮动div来模拟两列布局(每个div包含textfield来编辑不同的数据,如名称、爱好等)。所以应该是这样的 1 2 3 4 5 6 现在我的div框并不总是一样的,因为有些div的元素比其他div的多。现在我的布局看起来像这样 1 2 2 3 4 5 6 您还可以看到缩放时的效果,以便仅显示四个或三个柱。例如,如果一行中显示4列,则浮点1和浮点6之间的空间很大。这在我的UI上看起来不太好。我想要的是让浮点6跟在浮点1后面,中间没有空格(除了我定义的边

我使用左浮动div来模拟两列布局(每个div包含textfield来编辑不同的数据,如名称、爱好等)。所以应该是这样的

1 2
3 4
5 6
现在我的div框并不总是一样的,因为有些div的元素比其他div的多。现在我的布局看起来像这样

   1 2
     2 
   3 4
   5 6
您还可以看到缩放时的效果,以便仅显示四个或三个柱。例如,如果一行中显示4列,则浮点1和浮点6之间的空间很大。这在我的UI上看起来不太好。我想要的是让浮点6跟在浮点1后面,中间没有空格(除了我定义的边距)

编辑:我的div基本上只包含一个float:left和一个width:40%,这样两个就可以放在屏幕上了

这是一个屏幕截图,显示了更多的功能,这些功能将完全满足您的需要

如果你想坚持使用纯CSS,你可以做如下的事情,但我认为这不是你想要的:

<div class="col">
   <div class="one"></div>
   <div class="three"></div>
   <div class="five"></div>
   <div class="seven"></div>
</div>
<div class="col">
   <div class="two"></div>
   <div class="four"></div>
   <div class="six"></div>
   <div class="eight">who do we appreciate</div>
</div>

如果您可以使用php,下面是一个小技巧;)


这里是一个纯CSS解决方案。我以身作则

如果您想了解更多信息,请查看。他还使用作为后备

CSS:

.masonry { /* Masonry container */
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 1em;
    -webkit-column-gap: 1em;
    column-gap: 1em;
}

.item { /* Masonry bricks or child elements */
    background-color: #eee;
    display: inline-block;
    margin: 0 0 1em;
    width: 100%;
}
<div class="masonry">
    <div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
    <div class="item">Neque, vitae, fugiat, libero corrupti officiis sint facilis tempora quidem repudiandae praesentium odit similique adipisci aut.</div>
    <div class="item">Incidunt sit unde minima in nostrum? Incidunt sit unde minima in nostrum?</div>
    <div class="item">Ducimus, voluptates, modi, delectus animi maiores consequuntur repellat quisquam fugiat eum possimus enim culpa totam praesentium magni quae!</div>
    <div class="item">Lorem ipsum dolor sit amet, dicta dolore adipisci hic ipsam velit deleniti possimus cumque accusantium rerum quibusdam.</div>
    <div class="item">Neque, vitae, fugiat, libero corrupti officiis sint facilis tempora quidem repudiandae praesentium odit similique adipisci aut.</div>
    <div class="item">Incidunt sit unde minima in nostrum?</div>
    <div class="item">Incidunt sit unde minima in unde minima in unde minima in nostrum?</div>
    <div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae, praesentium consequatur ducimus commodi quam ex illo omnis dicta reiciendis vel nesciunt deserunt aut sequi nam mollitia perferendis ipsam possimus temporibus!</div>
    <div class="item">Ab, adipisci, temporibus eaque quis harum perferendis incidunt cupiditate doloribus dolor numquam voluptates ipsum dolore aspernatur et voluptate ipsam beatae animi culpa.</div>
</div>
HTML:

.masonry { /* Masonry container */
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 1em;
    -webkit-column-gap: 1em;
    column-gap: 1em;
}

.item { /* Masonry bricks or child elements */
    background-color: #eee;
    display: inline-block;
    margin: 0 0 1em;
    width: 100%;
}
<div class="masonry">
    <div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
    <div class="item">Neque, vitae, fugiat, libero corrupti officiis sint facilis tempora quidem repudiandae praesentium odit similique adipisci aut.</div>
    <div class="item">Incidunt sit unde minima in nostrum? Incidunt sit unde minima in nostrum?</div>
    <div class="item">Ducimus, voluptates, modi, delectus animi maiores consequuntur repellat quisquam fugiat eum possimus enim culpa totam praesentium magni quae!</div>
    <div class="item">Lorem ipsum dolor sit amet, dicta dolore adipisci hic ipsam velit deleniti possimus cumque accusantium rerum quibusdam.</div>
    <div class="item">Neque, vitae, fugiat, libero corrupti officiis sint facilis tempora quidem repudiandae praesentium odit similique adipisci aut.</div>
    <div class="item">Incidunt sit unde minima in nostrum?</div>
    <div class="item">Incidunt sit unde minima in unde minima in unde minima in nostrum?</div>
    <div class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae, praesentium consequatur ducimus commodi quam ex illo omnis dicta reiciendis vel nesciunt deserunt aut sequi nam mollitia perferendis ipsam possimus temporibus!</div>
    <div class="item">Ab, adipisci, temporibus eaque quis harum perferendis incidunt cupiditate doloribus dolor numquam voluptates ipsum dolore aspernatur et voluptate ipsam beatae animi culpa.</div>
</div>

Lorem ipsum dolor sit amet,奉献精英。
腐败自由官员在共和国的临时立法机构中的地位,以及在类似的立法机构中的地位。
难道你不能坐在诺斯特朗的最低点上吗?难道你不能坐在诺斯特朗的最低点上吗?
杜西姆斯、沃鲁帕特斯、莫迪、动物权利委员会(delectus animi maiores Consequentur Repectur quisquam fugia eum possimus enim culpa totam praesenium magni quae!
我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是我的意思。
腐败自由官员在共和国的临时立法机构中的地位,以及在类似的立法机构中的地位。
难道你不能坐在诺斯特朗的最低点上吗?
在诺斯特鲁姆,你不能坐在最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点的最低点吗?
Lorem ipsum dolor sit amet,奉献精英。作为一名普通公民,我们必须遵守全方位的法律法规,以确保履行暂时性法律责任!
Ab,adipisci,临时性行为必须包括铜、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银、银等。

希望这对你有帮助。谢谢。

你能画一个草图来表达你的想法吗?你打开链接了吗?调整浏览器窗口的大小,以便看到四列。我想消除空间太大(1和6,2和7,3和8之间有很大的空间。所有这些div都应该与相同的空间对齐,如4,5和9…我看到了它的样子,但从你的描述中我无法想象你想要它…好的。不幸的是,这在纯CSS中基本上是不可能的。我甚至无法想象如何接近它,尤其是在浮点数方面,since浮动不是这样工作的。我能想到的最好的方法是使用
position:absolute
,如果块的大小已知,则计算服务器端的确切位置,或者使用JavaScript.Neat plugin!谢谢分享。Neat plugin!但我不明白为什么要使用两个div解决方案