我有一个Rails 3.2应用程序。我使用部分_invoice_pdf.html.erb显示发票。同样的部分用于创建发票pdf。我使用邪恶的pdf和它不包括CSS时,创建的pdf。没关系-看起来挺好的。
但是,当我在屏幕上显示部分时,我想关闭CSS。
是否有命令不包括特定视图(部分)上的css?
谢谢你的帮助!
发布于 2015-09-11 21:42:10
您只需使用HTML和CSS就可以做到这一点,但请注意,IE和一些移动浏览器不支持CSS技术。您可以通过更改CSS以覆盖应用于发票的每个单独属性来获得完全的浏览器支持。
CSS
#your_invoice {
all: initial;
* {
all: unset;
}
}<div id="your_invoice">
<%= render "_invoice_pdf.html.erb"%>
</div>发布于 2015-09-11 20:27:33
通常,css不包括在部分中,而是在包含部分的布局或视图文件中。在这种情况下,只需在适当的情况下不将css包含在特定的视图中,或者在布局中有条件地排除css。与…有关的东西:
<%= stylesheet_link_tag 'application' unless @flag_set_in_controller %>
发布于 2015-09-11 21:41:59
您可以为应用程序的这一方面使用自定义布局和CSS文件。然而,根据您对Camden的回答的评论(部分不需要CSS,但“外部”元素需要),这似乎不太理想或可行。
否则,我认为您正在考虑有条件地删除JavaScript放在部分中的适当块中的CSS。
您可以将外部CSS文件与JS的片段一起删除,如下所示:
$('link').remove(); // would remove all <link> elements
$('link').not('.myCSSToKeep').remove(); // would remove all <link> elements except for one with class='myCSSToKeep'如果这对您的应用程序来说是不可能的,我相信您可以通过使用jQuery或类似的类手动更改样式。
$('.myClass').css('color', #fff); // and so on如果PDF的样式可以从它们自己的CSS文件中收集/使用,那么第一种方法应该工作得很好.假设我正确理解了需求:)!
https://stackoverflow.com/questions/32531519
复制相似问题