【问题标题】:How to style picture gallery to allow portrait and landscape pics that are also links如何设置图片库的样式以允许同时作为链接的纵向和横向图片
【发布时间】:2013-04-06 08:47:26
【问题描述】:

我正在尝试弄清楚如何设置图片库的布局。图库包含链接到各个图片的缩略图。图像可能是纵向或横向的。我正在努力弄清楚如何设置缩略图库以适应两种可能的布局。

我一直在寻找,发现了两种方法,每种方法都能让我得到我想要的一半。现在的问题是:我怎样才能得到我想要的一切。

所以,这适用于获取链接。

标记:

<% @pics.each do |pic| %>
  <div class="thumbnail">
     <%= link_to (image_tag pic.url), pics_path(pic: single_image(pic)) %> 
  </div>
<% end %>

CSS:

.thumbnail {
  margin: 30px;
}

这适用于显示横向和纵向图像。

在标记中:

<div style="width:200px; 
            height:200px;
             background: url(<%= single_image(pic) %>) no-repeat center;">

(我很想把这个样式从标记中去掉。在那里感觉很脏,但我的内容是动态生成的)

【问题讨论】:

  • 您为哪个 div 添加了样式?这不是缩略图 div,对吧?它是否围绕每个图像?我最近做了类似的事情,如果你能告诉我你的 div 的确切位置,我想我可以提供帮助。
  • 是的,我需要它来包围每个图像。现在它是缩略图 div,但我愿意根据需要更改它。
  • 我已经更新了我的答案,向您展示了几个选项以及如何使用缩略图 div 设置宽度和高度的样式。

标签: ruby-on-rails ruby-on-rails-3 css


【解决方案1】:

您可以轻松地将宽度和高度放入 css 文件中。为此,您需要为图像添加一个 id 或类,所以它会像这样:

<%= link_to (image_tag pic.url), pics_path(pic: single_image(pic)), class: "class-name" %>

css 看起来像这样:

.class-name {
     width: 200px;
     height: 200px;
 }

或者,如果您的 div 是缩略图 div,您的 css 将如下所示:

.thumbnail {
   margin: 30px;
   width: 200px;
   height: 200px;
}

问题与背景图片有关。您不能将像&lt;% sing_image(pic) %&gt; 这样的动态代码放入样式表中。你可能想看看这个 SO 帖子:Pulling CSS assets (like background images) from the database in a Rails app?

或者您可以考虑不将其设为背景图片。而是将标记(使用与上述相同的 css)更改为如下所示:

<% @pics.each do |pic| %>
  <div class="thumbnail">
     <%= link_to pic do %>
        <%= image_tag pics_path(pic: single_image(pic), :class => 'img-styling') %> 
     <% end %>
  </div>
<% end %>

您可以在 css 中添加:

.img-styling {
   your styling here
}

这对你有帮助吗?

【讨论】:

  • 感谢您对此的帮助。这种方法对我来说是新的,我完全喜欢它:` `。感谢分享!
  • 我很高兴它有帮助!
  • 我能问一下您是如何设计缩略图的吗?我最终在 image_tag 中设置了大小,但它往往会扭曲风景图片。我还没有找到一个很好的解决方案来显示横向和纵向图片。
  • 我很乐意提供帮助。你是如何提取图像的?您使用的是回形针或载波之类的宝石吗?还是其他方式?
  • 我不熟悉这颗宝石。当您将它们拉入您的应用程序时,有没有办法将其限制在一定大小而不扭曲它?我查看了文档以查看是否可以看到任何内容,但它非常稀疏。这通常是最简单的方法。这是另一个使用 html/css 的绝佳解决方案:stackoverflow.com/questions/493296/…
猜你喜欢
  • 2012-08-12
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
  • 2017-12-21
相关资源
最近更新 更多