【问题标题】:Is it possible to retrieve only a single property from a CSS class?是否可以从 CSS 类中仅检索单个属性?
【发布时间】:2011-03-02 01:19:50
【问题描述】:

示例 CSS 文件:

.testClass {
color: black;
background: red; }

现在在一个 HTML 文件中,我想要类似的东西

<span class="testClass:color">Text in black but without red background</span>

只应用该类的颜色属性。

有没有办法做到这一点?

它背后的目的(对于那些问自己“他为什么要那个,那不是干净的 CSS 用法!”的人)是我使用 jQuery UI 主题,并且我希望整个页面在更改时适应一个主题.由于这些主题并未涵盖所有类型的元素(例如链接的颜色),因此在这些情况下,我想“窃取”jQuery UI 主题的其他一些 CSS 类的颜色属性(但不是更多)。如果有其他方法可以做到这一点,我当然也很高兴听到它!

【问题讨论】:

    标签: css jquery-ui


    【解决方案1】:

    不,你不能。您应该为这种情况创建一个新类。

    【讨论】:

    • @nabizan - 因为不可能?如果 CSS 和 HTML 不允许它工作,那么它就无法完成。除非你想出一些 javascript 方法,但我怀疑它无论如何都会验证。
    • @all:伙计们我只是想知道任何程序员怎么会说某事/任何事情都无法完成......每个问题都可以解决,只要发挥你的想象力,一些创造力和善意......示例看看 realshadows 的答案
    【解决方案2】:

    不,你不能。 但是您可以按如下方式覆盖该属性

    <span class="testClass" style="background:none; ">
          Text in black but without red background
     </span>
    

    .testClass {
    color: black;
    background: red;
    }
    
    .testClassNoBack {
    background: none;
    }
    
    <span class="testClass testClassNoBack" >
          Text in black but without red background
     </span>
    

    【讨论】:

    • 谢谢,没想到!
    【解决方案3】:

    当然可以使用 js 和一些创造力来完成,但使用 document.styleSheets 及其各自的规则(如 here 所述)需要一些时间。但我不推荐它,因为document.styleSheets 的规则因浏览器而异。 Salil 的解决方案更简洁,我会说 css 方式在某种程度上更快。

    【讨论】:

      猜你喜欢
      • 2010-10-29
      • 2014-12-28
      • 1970-01-01
      • 2012-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      相关资源
      最近更新 更多