如何垂直推div?

时间:2015-12-30 12:17:10

标签: html css

这就是我所拥有的 Here is what I have

这就是我想要完成的事情

Here is what I want



<!doctype html>
<html>
    <head>
        <style>
            .card{
                background-color: aqua;
                border-radius: 10px;
                width: 30%;
                margin: 1% 1%;
                display: inline-block;
            }
        </style>
    </head>
    <body>
        <div style="height:200px;" class="card">1</div>
        <div style="height:240px;" class="card">2</div>
        <div style="height:200px;" class="card">3</div>
        <div style="height:270px;" class="card">4</div>
        <div style="height:300px;" class="card">5</div>
        <div style="height:250px;" class="card">6</div>
    </body>
</html>
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:0)

导入bootstrap并使用col-md- in行格式化div。我相信你有那个css。

<!doctype html>
<html>
    <head>
        <style>
            .card{
                background-color: aqua;
                border-radius: 10px;
                width: 30%;
                margin: 1% 1%;
                display: inline-block;
            }
        </style>
    </head>
    <body>

        <div class="rows">
        <div class="col-md-4">
        <div style="height:200px;" class="card">1</div>
        <div style="height:240px;" class="card">2</div></div>
        <div class="col-md-4">
        <div style="height:200px;" class="card">3</div>
        <div style="height:270px;" class="card">4</div></div>
        <div class="col-md-4">
        <div style="height:300px;" class="card">5</div>
        <div style="height:250px;" class="card">6</div></div>
        </div>
    </body>
</html>

答案 1 :(得分:0)

你需要尝试这样 -

只需使用以下脚本 -

<script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/3.3.2/masonry.pkgd.min.js"></script>

&#13;
&#13;
.card{
  background-color: aqua;
  border-radius: 10px;
  width: 30%;
  margin: 1% 1%;
  display:inline-flex;
  vertical-align:top;
}
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/masonry/3.3.2/masonry.pkgd.min.js"></script>
<div class=" grid js-masonry">
          <div style="height:200px;" class="card grid-item">1</div>
          <div style="height:240px;" class="card grid-item">2</div>
          <div style="height:200px;" class="card grid-item">3</div>
          <div style="height:270px;" class="card grid-item">4</div>
          <div style="height:300px;" class="card grid-item">5</div>
          <div style="height:250px;" class="card grid-item">6</div>
        </div>
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

使用纯CSS无法做到这一点。

您可以更改HTML以包含&#34;列&#34;每两个(在你的情况下).card元素的div,或者有很多javascript插件,你可以通过动态操作HTML轻松实现这个布局...检查http://masonry.desandro.com/作为一个很好的例子< / p>

答案 3 :(得分:-1)

这是快速回答;但对于具有动态高度的DIV,我相信使用jQuery插件会更好(例如Ronen提到的masonary)。

<!doctype html>
<html>
    <head>
        <style>
            .card{
                background-color: aqua;
                border-radius: 10px;
                width: 30%;
                margin: 1% 1%;
                display: inline-block;
            }
        </style>
    </head>
    <body>
        <div style="height:200px;" class="card">1</div>
        <div style="height:240px;" class="card">2</div>
        <div style="height:200px;" class="card">3</div>
        <div style="height:270px; top:-40px; position:relative;" class="card">4</div>
        <div style="height:300px;" class="card">5</div>
        <div style="height:250px;  top:-40px; position:relative;" class="card">6</div>
    </body>
</html>