【问题标题】:If I wanted to create a ruby/rails gem to manage CSS class precedence, where would I start?如果我想创建一个 ruby​​/rails gem 来管理 CSS 类的优先级,我应该从哪里开始?
【发布时间】:2012-01-18 08:35:41
【问题描述】:

这就是我希望我的 gem 做的事情...一旦包含在 Rails gem 文件中,它将允许开发人员指定哪个样式表是主要的,哪个是“次要的”。想法是,第一个样式表中的所有样式都优先于所有其他样式 - 但是当主样式中不存在样式时,它会使用辅助样式中的样式。

例如,如果main.csssecondary.css 中有body,它总是使用main.css 中的样式。但是如果secondary.css中有alert-message,但main中没有,开发者可以使用alert-message,不用担心冲突。

这个想法基本上是允许您利用现有的框架或缩小的样式表,它们可能具有与您的 main.css 冲突的类,而不必担心您的整个网站/应用程序会被搞砸。

如果我能大致了解整个 Rails/Ruby gem 创建过程,那就太棒了——因为这将是我的第一次。然后可能会讨论一些关于我如何解决这个特定问题的讨论(从高层次上来说很好)。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 css rubygems


    【解决方案1】:

    我想这需要做很多工作。您必须扩展(或编写自己的)CSS 解析器。或者想出另一种方法来指定哪些类是“主”类。

    我认为,解决方案要复杂得多。只需在所有“辅助”之后包含您的“主要”样式表。如果有冲突,这将覆盖类。

    【讨论】:

    • 我试过很多次,有很多不同的组合,总是有冲突。我不知道幕后是否发生了什么,但我有两个单独的<% stylesheet_link_tag %> 调用我想要的两个样式表,不管我怎么做 - 有些事情渲染得很好(即来自我的main.css ) 和其他人变得很奇怪——因为很明显他们的风格是冲突的。我正在尝试将 Twitter 中的 Bootstrap 与我的 main 一起使用,但我不想使用每一种样式 - 这就是它的来源。
    • @marcamillion:好吧,祝你好运,但如果我是你,我会重命名我的课程 :-)
    • 我会的,如果样式表不是 2000 行长:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 2013-04-05
    • 2011-02-24
    • 1970-01-01
    相关资源
    最近更新 更多