0

我有一个要渲染的集合,但想在项目之间而不是在最后显示边界。这可能吗?

render :partial => 'classrooms/classroom_result', :collection => @result, :as => :classroom

_classroom_result.html:

<div style='border-bottom:1px solid #CCCCCC;'>
  <%= classroom.name %>
</div>

基本上有没有办法区分集合中的最后一项以进行样式设置?在这个例子中,我不想在最后一个项目上有border-bottom的css,因为我有一个围绕整个集合的边框。

4

1 回答 1

0

首先这是一个 CSS 问题,而不是真正的 Rails 问题。

为此,您需要一个适当的样式表。我不认为你可以像你一样使用内联样式来做到这一点。接下来,您<div>需要一个 CSS 类来识别这个<div>s 列表,然后使用:last-child伪选择器禁用最后一个元素的边框。

在您的样式表中:

.classroom {
  border-bottom:1px solid #CCCCCC;
}

.classroom:last-child {
  border-bottom:0;
}

在你的部分:

<div class="classroom">
  <%= classroom.name %>
</div>

那应该这样做。此外, :last-child 在 <= IE8 中不起作用,但在大多数其他相对较新的浏览器中会起作用。

于 2012-12-21T02:12:17.003 回答