我的砌体图像只显示在一列中

时间:2015-03-18 10:10:07

标签: javascript jquery css ruby-on-rails masonry

我在使用OMR one-month-rails教程时遇到了问题。我正在制作类似于pinteresting的布局,可以在窗口调整大小时移动照片。我几乎完全按照教程。

但是照片没有填写页面布局。该网站正在拍摄我的照片并将其列为一列:Error

/app/assets/javascripts/photos.js.coffee:

$ ->
  $('#photos').imagesLoaded ->
    $('#photos').masonry
      itemSelector: '.bot'
      isFitWidth: true

index.html.erb:

<div id="photos" class="transitions-enabled">
  <% @photos.each do |photo| %>
    <div class="bot panel panel-default">
      <%= image_tag photo.image.url(:medium) %>
      <div class="panel-body">
        <%= photo.description %>
        <%= photo.user.email if photo.user %>
        <%= link_to 'Show', photo_path(photo) %>
        <% if photo.user == current_user %>
          <%= link_to 'Edit', edit_photo_path(photo) %>
          <%= link_to 'Destroy', photo, method: :delete, data: { confirm: 'Are you sure?' } %>
        <% end %>
      </div>
    </div>
  <% end %>
</div>

photos.css.scss:

#photos {
  margin: 0 auto;
}

.bot {
  margin: 5px;
  width: 214px;
}

.bot img {
  width: 100%;
}

如何制作此布局以使照片彼此相邻而不是在一列中?我更改了&#34;框&#34; to&#34; bot&#34;因为它与我拥有的另一个css文件冲突。但即使我确实改变了css,它也不重要,因为它仍然显示为单列。

编辑: 通过我在网上发现的一些CSS,我能够解决这个问题。 新的photos.css.scss文件:

#photos {
  margin: 0 auto;
}

.bot {
 margin:5px;
 padding:5px;
 font-size: 11px;
 line-height: 1.4em;
 float: left;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
 border-radius: 5px;
 box-shadow: 1px 1px 10px #444;
 width: 214px;
}

.bot img {
 display: block;
 width: 100%;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
 border-radius: 5px;
}

这解决了我的单栏问题。但是,现在我的照片和幻灯片之间存在很大的差距,例如:Masonry Error

1 个答案:

答案 0 :(得分:0)

我明白了......

的OMR教程
  

// =需要树。

线。由于来自另一个jquery的一些错误,我排除了这一行。我没有手动插入我的

  

// =需要照片

线。

我只包括

  

// = require masonry / jquery.masonry

线。 它在生产中起作用,但在开发方面有所不同,这对我来说很好。