我在使用 OMR 一个月 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>
照片.css.scss:
#photos {
margin: 0 auto;
}
.bot {
margin: 5px;
width: 214px;
}
.bot img {
width: 100%;
}
我怎样才能使这种布局使照片彼此相邻而不是在一个单独的列中?我将“box”更改为“bot”,因为它与我拥有的另一个 css 文件冲突。但即使我确实更改了那个 css 也没关系,因为它仍然显示为单个列。
编辑: 通过我在网上找到的一些 css,我能够 sudo-fix 这个问题。 新的 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
最佳答案
我想通了... OMR 教程有
//= require tree .
行。由于另一段 jquery 的一些错误,我已经排除了这一行。我没有手动插入我的
//= require photos
行。我只包括了
//= require masonry/jquery.masonry
行。 它在生产中有效,但在开发中表现略有不同,这对我来说很好。
关于javascript - 我的 masonry 图像仅显示在一个列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29119188/