代码之家  ›  专栏  ›  技术社区  ›  Jeremy H

将多个固定宽度/可变高度框浮动到2列中

  •  2
  • Jeremy H  · 技术社区  · 15 年前

    我会尽力解释的。我有多个宽度固定但高度可变的div。我想把这些盒子漂浮在固定宽度容器内的两列中。当a给它们一个浮点值时会发生什么:左边的值,我得到如下的结果:

    ######### ######### 
    # box 1 # # box 2 # 
    ######### # ..... # 
    ......... # ..... # 
    ......... ######### 
    ######### ######### 
    # box 3 # # box 4 # 
    # ..... # # ..... # 
    ######### #########
    ######### #########
    # box 5 # # box 6 #
    # ..... # #########
    # ..... #
    #########
    

    (句号为空白)

    我真正想要的是盒子3的顶部接触盒子1的底部。有什么简单的方法来实现这个吗?

    编辑: 希望找到适用于两列以上的解决方案。完美的构图将采用弹性布局,并沿水平方向扩展到屏幕上所需的尽可能多的列。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Guillaume Esquevin    15 年前

    你需要交替左右浮动在你的箱子上。

      .box:nth-child(2n+1){
        float: left;
      }
      .box:nth-child(2n){
        float: right;
      }
    

    警告:此代码与旧的浏览器不兼容,对于那些您可能希望每隔一个框以编程方式设置不同的CSS类的浏览器。

        2
  •  0
  •   Alec    15 年前

    不要水平工作,而是垂直工作。

    现在:

    L     R
    1 ==> 2
    3 ==> 4
    5 ==> 6

    其他方式:

    L   R
    1   2
    \/  \/
    3   4
    \/  \/
    5   6

    所以基本上,把所有奇数的div放在左边,把所有偶数的div放在右边。如果动态创建这些div,请首先按奇数和偶数对其进行分组,然后将它们添加到相应的列中。