float variable height containers

2019-01-20 10:00发布

So i have x amount of "blocks" that I want to float left.. Like this :

A B C D

E F G H

BUT, if B is twice as long as the rest, for example, there would be white space between A & E, C & G, D & H.

How can I avoid that and just have all the containers float to the left and then fit in nicely without excess white space in between ?

标签: css layout html
2条回答
倾城 Initia
2楼-- · 2019-01-20 10:38

CSS cannot handle this in the general case.

If there are a fixed number of columns, you can cheat and do this: http://jsfiddle.net/suaaK/11/

Otherwise:

See this answer for a comparison of the candidate techniques, showing that they don't work:

If you're willing to use JavaScript, you should use jQuery Masonry.

Demos:

查看更多
Animai°情兽
3楼-- · 2019-01-20 10:56

Set up your CSS into vertical columns versus horizontals. Smashing Magazine has a great piece about floats and their quirks, go take a look: http://coding.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/

查看更多
登录 后发表回答