Ruby on rails 同一页面上呈现的部分中的不同css属性

Ruby on rails 同一页面上呈现的部分中的不同css属性,ruby-on-rails,Ruby On Rails,看似简单的问题我似乎无法思考。我甚至不确定这是否能用RoR解决 我在同一页上呈现了两个部分: <%= render 'large_image_feed' %> <%= render 'small_image_feed' %> 两个部分如下所示: <% @feed.each do |f| %> <style> p img { width: 100%; <%# width: 50%; in small_image_feed %> }

看似简单的问题我似乎无法思考。我甚至不确定这是否能用RoR解决

我在同一页上呈现了两个部分:

<%= render 'large_image_feed' %>
<%= render 'small_image_feed' %>

两个部分如下所示:

<% @feed.each do |f| %>
<style>
p img { width: 100%; <%# width: 50%; in small_image_feed %> }
</style>

<p>
<img src="example.jpg">
</p>
<% end %>

p img{宽度:100%;}


问题是,由于“小”图像“源”呈现在“大”图像“源”之下,因此页面上的每个图像都有50%的宽度,而不是取决于它来自的部分的宽度。图像必须是默认的img类

首先,我不建议使用嵌入式样式,因此值得花时间将它们转移到您的资产中。除此之外,解决方案只是将您的分区包装在一个容器中

大部分

<% @feed.each do |f| %>
<style>
  .large p img { width: 100%; }
</style>
<div class="large">
  <p>
   <img src="example.jpg">
  </p>
</div>
<% end %>
<% @feed.each do |f| %>
<style>
  .small p img { width: 50%; }
</style>
<div class="small">
  <p>
   <img src="example.jpg">
  </p>
</div>
<% end %>

.大p img{宽度:100%;}

小部分

<% @feed.each do |f| %>
<style>
  .large p img { width: 100%; }
</style>
<div class="large">
  <p>
   <img src="example.jpg">
  </p>
</div>
<% end %>
<% @feed.each do |f| %>
<style>
  .small p img { width: 50%; }
</style>
<div class="small">
  <p>
   <img src="example.jpg">
  </p>
</div>
<% end %>

.small p img{宽度:50%;}


简单的修复,谢谢。关于嵌入式样式,如果我有一个类,比如“#image-”,除了使用它们之外还有其他方法吗?你可以使用erb css文件,但不幸的是,如果你像那样动态应用样式,这不会有帮助。有什么理由你不能有一个基类'image foo'等,然后就有了JS等的id动态?每个帖子是否需要不同的图片样式?