如何防止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?的主要内容,如果未能解决你的问题,请参考以下文章
如何防止 Spring Security 在会话中存储我的自定义 UserDetails 对象