2016-11-25 12 views
1

ブートストラップと一緒にレールを使用しています。不規則な数のブロックがレイアウトされているページをレイアウトしようとしています。小さな画面では、1列、中間画面2列、およびより大きな画面3列が必要です。などブートストラップ/レールに行と列を動的に作成する

...

enter image description here

は、しかし、私はそれが確実に動作しますので、内容をスライスする方法を動作することはできません。現在、私は、私の見解では、これを持っている:

<div class="container"> 
    <% @posts.each_slice(3) do |posts| %> 
    <div class="row"> 
    <% posts.each do |post| %> 
     <div class="col-sm-6 col-lg-4"> 
     <img src="<%= post.image %>" class="img-responsive"> 
     <h2><%= post.title %></h2> 
     <h6><%= post.created_at.strftime('%b %d, %Y') %></h6> 
     <p> <%= raw(post.body).truncate(358) %></p> 
     </div> 
    <% end %> 
    </div> 
    <% end %> 
</div> 

しかし、これはしかし、関係なく、組み合わせの私は、媒体のいずれかを選択

enter image description here

は、私がeach_slice(3)class="col-sm-6 col-lg-4"を変更しようとした...生成しますまたは大きなビューが壊れます。

ページの項目数に関係なく、上記の効果を確実に達成するにはどうすればよいですか?

+0

ボックス3のいずれかが少し広すぎる、または箱2であるため、ボックス4は、ダウンバンプなっています高すぎるのでレイアウトが壊れています。それらのボックスの高さにハード制限を設定すると、レイアウトはあなたが望むように見えますか? –

+0

問題が解決しない場合は、各ブロック内にイメージ(応答)、タイトル、日付、テキストの塊が表示されます。長すぎると、テキストの塊が切り捨てられます。しかし、テキストブロックは、各コンテンツブロックが固定された高さであることを意味する固定高さであってもよい。 – dwkns

+0

高さを設定しても差はありません。 – dwkns

答えて

2

列の内容が同じ高さである場合には、グリッドは均一にラップ: http://www.codeply.com/go/8w2INqz3e1

列の内容が異なる高さである場合、グリッドは、ギャップを引き起こし、不均一ラップ.. http://www.codeply.com/go/1LBtvtDnzA

あなたがこの回答に記載され 応答リセットを使用する必要があり、この問題を解決するには

..

Bootstrap row with columns of different height

例えば

、あなたのケースではCSSのclearfixのアプローチは次のように動作します。..

@media (min-width: 1200px) { 
    .row > .col-lg-4:nth-child(3n+1) { 
     clear: left; 
    } 
} 

@media (max-width: 992px) { 
    .row > .col-sm-6:nth-child(2n+1) { 
     clear: left; 
    } 
} 

http://www.codeply.com/go/LDqxBlyULr

+1

実際には本当の問題は、ただ1つではなく複数の行を作成していることでした.http://www.bootply.com/hL0Q7I9kmyただ1つの行を作成すると、高さの問題が発生します。しかし、それは私に解決策を与えてくれました。ありがとう。 – dwkns