如何防止scaffold.css 覆盖我的自定义css?

Posted

技术标签:

【中文标题】如何防止scaffold.css 覆盖我的自定义css?【英文标题】:How do I prevent scaffold.css from overriding my custom css? 【发布时间】:2012-04-12 20:58:12 【问题描述】:

我想不通。这可能是微不足道的,但我对 Rails 非常陌生。

如果您能提供帮助,请提前致谢!

答案:

我转到生成的文件,该文件将标题添加到我的页面并将包含的 css 文件更改为我自己的自定义文件。

【问题讨论】:

那你是怎么解决你的问题的? 您可以将订单包含规则应用于您的 css 包含 - 请参阅 ***.com/questions/8890929/… 了解想法。 【参考方案1】:

有一个关于不使用scaffold.css的问题,可能是你要找的?

Rails scaffold without the css file?

【讨论】:

“rails g scaffold MyModel --no-stylesheets”不明显怎么办?【参考方案2】:

这不是最漂亮的 css,但在 css 中,您可以在语句后添加 '!important' 以覆盖所有“正常” css 语句。所以你会使用类似的东西:

border:0px !important;

在你的 CSS 中。

【讨论】:

不要将!important 用于此类琐碎的事情。改为更改 CSS 的加载顺序。 加载顺序只与同等特异性的规则有关,正如我在答案中已经指出的那样,它不是漂亮的 CSS,但在你被框架 css 卡住的情况下,它有时最有意义. 无论哪种方式,这是一个很好的选择,需要注意,不像 !important 是邪恶的,只是另一种(丑陋的)影响特异性的方式。【参考方案3】:

在 Rails 3.1 中,它的工作方式略有不同,因为默认情况下只包含应用程序样式。

由于这里提到了所有进一步包含的列表:Rails 3.1 Load css in particular order,因此您只需更改此列表的顺序或将文件添加到特定位置。

【讨论】:

【参考方案4】:

最后加载具有您想要应用的正确样式的 CSS 文件。

或者正如其他人建议的那样,如果您无法更改 css 文件的加载顺序,您可以将 !important 添加到有问题的 css 中。

body 
color:#FFFFFF!important;

【讨论】:

以上是关于如何防止scaffold.css 覆盖我的自定义css?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止外部 CSS 覆盖 Web 组件样式

如何防止 OpsWorks 部署默认部署到我的自定义层?

如何防止 Spring Security 在会话中存储我的自定义 UserDetails 对象

如何停止 cPanel 升级覆盖我的自定义 exim.conf 文件

如何编写代码分析 (FxCop) 规则以防止方法调用

UITableView 文本覆盖我的自定义部分标题?