html垂直包装页面流

时间:2013-09-27 01:35:49

标签: html page-flow

假设我有一个按字母顺序排列的跨度列表。 通常使用html,如果我创建了一堆它们,比如display:inline-block,它们就会显示出来:

  +------+------+------+
  |   a  |   b  |  c   |
  +------+------+------+
  |   d  |   e  |  f   |
  +------+      +------+
  |   g  |------+
  +------+

并且会像页面允许的那样宽。

我怎样才能有一个固定的高度,然后叠加直到它填满,然后像下一样转到下一列:

  +------+------+------+
  |   a  |   d  |   f  |
  +------+------+------+
  |   b  |   e  |   g  |
  +------+      +------+
  |   c  |------+
  +------+

其中每个方格都是包含元素。

这是一个有限的例子,我不希望它特别高3,我不想填充它给出的任何垂直空间,然后继续下一列。

1 个答案:

答案 0 :(得分:0)

这里发现了非常接近的帖子 Column layout in HTML(5)/CSS

我这样做的方法就是在循环中添加一个计数器,输出列说像(%3),每隔三次关闭一列并清除浮点数。结构将类似于以下......

<div class="myWrapper">

    <div class="col1">
        <div>a</div>
        <div>b</div>
        <div>c</div>
    </div><!--col1-->
    <div class="clear"></div><!--clear-->

    <div class="col2">
        <div>d</div>
        <div>e</div>
        <div>f</div>
    </div><!--col2-->
    <div class="clear"></div><!--clear-->

    <div class="col3">
        <div>g</div>
        <div>h</div>
        <div>i</div>
    </div><!--col3-->
    <div class="clear"></div><!--clear-->

</div><!--myWrapper-->

.myWrapper{}
    .myWrapper > div{ float:left; width:30%; margin-right:1%; }
    .myWrapper > div:last-child{ margin-right:0; }
        .myWrapper div[class*='col'] > div{ max-height:200px; margin:10px 0; }
 .clear{ clear:both; }