【问题标题】:How to override a jquery theme如何覆盖 jquery 主题
【发布时间】:2012-01-11 17:45:47
【问题描述】:

我正在使用带有 Jquery 选项卡的 Smoothness 主题,我想在几个选项卡上覆盖默认主题的外观,我将如何去做。我尝试了以下方法:

$('#tab-id').css('background', '-moz-linear-gradient(center top, #999999, #494949 75%, #f3c84b)');

当用户单击选项卡时,我从单击函数中调用它。

我也尝试过.addClass,但这也没有覆盖平滑主题。

尽我所能,任何帮助将不胜感激。

【问题讨论】:

  • 编辑 CSS 文件或使用 .removeClass().addClass() 覆盖类。
  • 或者在单独的 css 文件中覆盖 css,在其中将覆盖标记为 !important。
  • 请注意,为了完全兼容,您需要的不仅仅是-moz-linear-gradient 来获得渐变。

标签: jquery css background tabs


【解决方案1】:

尝试在您的定义中添加更多CSS Specificity!important

... 如果您有两个(或更多)冲突的 CSS 规则指向同一个 元素,浏览器遵循一些基本规则 确定哪一个是最具体的,因此胜出...

http://www.htmldog.com/guides/cssadvanced/specificity/

... 特异性决定了浏览器应用哪个 CSS 规则...

... 除了浮点数之外,CSS 特异性是最困难的之一 级联样式表中要掌握的概念。不同的重量 选择器通常是您的 CSS 规则不适用于某些 元素,虽然你认为它们应该有......

http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/

【讨论】:

    【解决方案2】:

    只需在 jQueryUI CSS 表之后加载的外部 CSS 文件中定义参数,如果您在选项卡上使用 ID,则只需在 CSS 中引用该 ID。

    无需通过 JS 设置 CSS 样式!

    【讨论】:

    • 我添加了一个 id,它确实将我想要的样式应用于选项卡,但我只希望在选择选项卡时样式可见。有没有办法只用 CSS 来做到这一点?
    • 是的,您需要指定选项卡的状态,我相信它类似于.active.selected,您必须使用firebug 或chrome 开发工具来检查。我有一段时间没有编辑标签,只是回忆一下。
    猜你喜欢
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 2019-05-21
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多