2012-07-29 118 views
0

我在页面上有6个浮动div(对齐左边)。这些div有2个不同的宽度(取决于图像())。一个div有295px,另一个div有216px。高度由HTML自动计算。容器有1050像素,所以在容器的一个“行”中,我可以插入3个div,并在第二个“行”中插入另一个3。CSS - 浮动div对齐左边

CSS规则正在工作,所有div浮动到左侧,每个div都有20px的边距,但问题在于它们的对齐。我想调整这些div成比例。此刻如果一些图片有不同的高度,第二个“行”是一些空格(因为上面图片的高度)。

我想要一些浮动这些div在Y坐标(比例)。

看看这个图片: enter image description here

+0

你的意思是同等考虑上述行中较大图片的最大高度的行之间的y对齐? – domoindal 2012-07-29 11:22:40

+0

你应该使用'display:inline-block' – mddw 2012-07-29 11:31:45

回答

1

拨打的jsfiddle的人一起玩。

但是,你可能会想为每一行做一个容器div。这种封装3个内div的,是高达他们,允许下一个容器很好地适应下面

见我的小提琴:http://jsfiddle.net/TJxmT/

+0

它的工作,谢谢! – 2012-07-29 11:52:39

+0

额外的标记,并不总是最好的解决方案恕我直言......看到我的答案,你可以使用CSS做到这一点 – 2012-07-29 12:07:54

0

难道一个最小高度在浮动的div解决这个问题?

+0

不,它不帮助我。 – 2012-07-29 11:53:30

0

尝试使用名为Masonry的jQuery插件来修复该布局......您会感到惊讶!

编辑:

您可以随时清除该行中的第一个项目,并使用CSS每一第三项:

li:nth-child(3n+4) { clear:left; } 
+0

这是相当了不起的,但我有2个不同类的div。 – 2012-07-29 11:54:20

+0

给他们一个额外的类,例如:class =“class-one block”和class =“class-two block”...我们在这里使用类“block”作为普通类 – 2012-07-29 11:56:08

0

你试过把一个clear: both;上新线的每个第一个div?

+0

是的,我已经尝试过,但同样的问题。 – 2012-07-29 11:54:37

+0

我用消化系统更新了用户1538100的小提琴。似乎工作得很好,没有额外的容器......也许我误解了这个问题。 http://jsfiddle.net/TJxmT/1/ – Pevara 2012-07-30 21:19:54