覆盖CSS类

时间:2011-07-25 13:32:31

标签: jquery html css jquery-ui

我正在使用Ruby on Rails 3.0.9,jQuery 1.6.2和jQuery UI。我希望覆盖tabs 的一些CSS class属性,而不用更改ThemeRoller生成的原始CSS文件。

我该怎么做?你有什么建议?

P.S。:我想在不修改jQuery UI CSS文件的情况下设置我的标签样式,以便在未来的开发中,我可以“重新生成”该文件,而不会丢失我的自定义CSS语句。

6 个答案:

答案 0 :(得分:3)

这很容易实现。 CSS根据加载顺序应用样式。要覆盖任何样式,需要在核心样式表之后加载它。

  1. 加载jQuery UI CSS。
  2. 加载自定义CSS文件。
  3. 在自定义CSS文件中,您可以使用核心UI CSS文件中的相同标记覆盖选项卡结构。

    这将允许您重新生成和替换核心文件,而不会丢失您的自定义。

答案 1 :(得分:1)

一件简单的事情就是创建一个辅助样式表。

在此辅助工作表中为选项卡包含相同的样式。

将它置于头部的Themeroller CSS下。

由于样式按顺序“最后”,因此将在不更改原始样式的情况下应用它们。

答案 2 :(得分:0)

这是一个非常普遍的问题。我想在FF中使用像firebug这样的东西来弄清楚样式的来源(当你使用jQuery UI时尤其有用;我发现CSS变得棘手)。然后你必须自己解决范围,或在你的问题中提供更多细节。

答案 3 :(得分:0)

您可以轻松完成。假设您想要覆盖jquery.ui.css中任何元素的颜色,那么您可以执行以下操作。

.myClass{
  color:red !important;//specify important to any style you want to override.
}

答案 4 :(得分:0)

使用.css

$("#elemID").css({backgroundColor:'Red',text:'Blue'});

答案 5 :(得分:0)

你可以使用jquery addclass()和removeclass()选择器。