gpt4 book ai didi

css - rails 4 : How to exclude a CSS file from a specific view?

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:46 33 4
gpt4 key购买 nike

如何从特定 View (home.html.erb) 中排除特定 CSS 文件 (custom.css.scss)?

以下场景。我的 Rails 应用程序由必须登录才能查看的实际 Web 应用程序和面向外的登录页面组成。

Web 应用程序的 CSS 位于名为 custom.css.scss 的文件中。

我为着陆页创建了一个名为 static_pages.css.scss 的新 CSS 文件。

现在,问题显然是 Rails 提取了所有样式表并将它们应用于所有 View :

*= require_tree 。
*= require_self

但是,现在我的着陆页被包含应用特定 CSS 的 custom.css.scss 文件弄乱了,反之亦然。

由于我的着陆页只是一个单页纸,理想的解决方案是简单地从代表着陆页的 home.html.erb 文件中排除 custom.css.scss

我怎样才能做到这一点?

我找到了有关此问题的各种主题,但无法理解它。有些看起来只是注入(inject),有些看起来是排除。

非常感谢您的帮助。

最佳答案

在你的模板中找到这种行:

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>

它确实有魔力,customstatic css 包含在 application.css 中

排除某些东西很奇怪,对于 css 我们通常使用选择器来识别哪些元素将受到影响。

我的建议是:

  1. 添加标识 Controller /操作的特定类/ID例如,我将这种代码添加到我的布局模板中:

<body id="<%= controller_name %>_body">

所以现在每个 View 都有 id对于它的 body

  1. 修改自定义 CSS 以应用于除着陆页之外的所有内容。例如我的着陆页有主体的 ID:landing_page_body

custom.css.scss

body:not(#landing_page_body) {
// My css here apply for all except for #landing_page_body
}

关于css - rails 4 : How to exclude a CSS file from a specific view?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34804861/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com