子div基于100%父高自动校对的div元素

时间:2013-12-22 22:47:02

标签: css

我有很多div元素,我希望根据100%的父高度滚动horitonzaly而不是垂直。

我快速提升了预期的结果。

作为示例,如果父级是600像素高,则在创建新列之前将容纳6个100px项目,并且900px高度将适合9个项目。

我怎样才能达到这种效果?我只需要它在Chrome中工作,因此无法使用跨浏览器支持。

让你摆弄的代码,http://jsfiddle.net/yQ5AR/

<div class="container">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
    <div class="item">5</div>
    <div class="item">6</div>
    <div class="item">7</div>
    <div class="item">8</div>
    <div class="item">9</div>
    <div class="item">10</div>
    <div class="item">11</div>
    <div class="item">12</div>
    <div class="item">13</div>
    <div class="item">14</div>
    <div class="item">15</div>
    <div class="item">16</div>
    <div class="item">17</div>
    <div class="item">18</div>
    <div class="item">19</div>
    <div class="item">20</div>
</div>

.container{
    max-height: 400px;
    width: 100%;
    overflow: scroll;
}

.item{
    height: 100px;
}

enter image description here

2 个答案:

答案 0 :(得分:1)

将flexbox用于此

<强> FIDDLE

CSS

.container{
    max-height: 600px;
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

.item{
      height: 70px;
      background: silver;
      width: 200px;
      margin: 10px;
      padding: 5px;
}

答案 1 :(得分:0)

CSS columnscolumn-break-inside应该做你想要的事情(在这种情况下-webkit,因为你只关心Chrome)。

http://jsfiddle.net/yQ5AR/4/

CSS

.container{
    max-height: 400px;
    width: 100%;
    overflow: scroll;
    -webkit-columns: 100px;
}

.item{
    height: 100px;
    -webkit-column-break-inside: avoid;
}