水平对齐div与轨道生成的循环

时间:2016-09-09 00:49:34

标签: html css ruby-on-rails horizontallistview

我正试图横向列出博客文章列表。但我不知道怎么做。在创建静态模型时,我能够使用css flexbox实现我想要的结果,但是只要我用rails循环替换占位符标签,布局就会中断,所有帖子都会垂直排列。此外,在最后一篇文章的末尾,这一串文本的所有帖子信息都浮在底部(见附图),不知道我在这里做错了什么。 strings at the bottom of the post

以下是我的html和css设置:

  <section id="posts" class="wrapper">
    <h2>My Latest Articles</h2>
    <hr>

    <div class="post_container">
      <div class="article">
        <%= @posts.each do |p| %>
        <h3 class="post_title"><%= link_to p.title, p %></h3>
        <p class="post_date"><%= p.created_at.strftime("%A,%b %d") %></p>
        <p class="content"><%= truncate(p.content, length: 400)  %></p>
        <% end %>
      </div>
    </div>

CSS

#posts {
    padding: 6.5em 0 10em 0;
    h2 {
        text-align: center;
        color: $text;
        margin-bottom: 1.25rem;
    }

    .post_container {
        padding: 6em 0 6em 0;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        .article {
            max-width: 28%;
        }
        .post_title {
            color: $text;
      font-size: 1.6em;
        }
        .post_date {
            padding: .75rem 0;
            color: $accent;
            font-size: 1.2em;
        }
        .content {
            color: $grey;
        }
    }
}

2 个答案:

答案 0 :(得分:2)

尝试用div包围循环内的所有内容。希望这有帮助!

答案 1 :(得分:2)

要删除帖子下方的信息字符串,您需要修改自己的erb代码。

post_container div更改为:

<div class="post_container">
  <div class="article">
    <% @posts.each do |p| %>
      <h3 class="post_title"><%= link_to p.title, p %></h3>
      <p class="post_date"><%= p.created_at.strftime("%A,%b %d") %></p>
      <p class="content"><%= truncate(p.content, length: 400)  %></p>
    <% end %>
  </div>
</div>