我想知道如何根据数据库中元素的数量动态更改我的 CSS 样式。
用户可以选择一定的列数,他们选择的列数决定了列的宽度(显然选择的列越多,每列的宽度就会越小,以便它们在页面上水平间隔均匀。
你怎么做这样的事情?
我想知道如何根据数据库中元素的数量动态更改我的 CSS 样式。
用户可以选择一定的列数,他们选择的列数决定了列的宽度(显然选择的列越多,每列的宽度就会越小,以便它们在页面上水平间隔均匀。
你怎么做这样的事情?
听起来像是很好地使用ahem TABLEs!
问题是您不能通过更改 CSS 来做到这一点,您需要更改 HTML
<table width="100%">
<tr>
<td>..</td> (repeat for the number of columns)
</tr>
</table>
默认情况下,所有表格单元格 (TD) 的宽度都相同。
您需要在 .html.erb 中动态分配样式。您可以使用表格、div、列表 - 任何您想要的。只需根据列数(class="small",class="wide")分配不同的类并在您的 CSS 文件中定义它们,或者(可能不太漂亮)您可以使用内联样式。
例如,在这段代码中,我指定了一个元素的宽度(进行五星级评级):
<ul class="stars floatstars">
<li class="yellowstars" style="width: <%= @article.avg_rating * 25 %>px !important;"></li>
<li class="text"><%= @article.avg_rating %> average from <%= pluralize(@article.count_ratings, "vote") %></li>
</ul>
编辑:如果您将类设置为控制器中的变量,这将是视图的示例:
<li class=<%= @myclass %>>...</li>