如何在自定义元素(Polymer 1.0)中设置纸质元素的样式?

时间:2015-06-12 11:15:53

标签: html css polymer polymer-1.0

无论我做什么,我似乎都无法使用自定义元素中的自定义属性设置纸质元素的样式:

<dom-module id="ts-dashboard">
  <style>
      :host {
         display: block;
          --paper-tabs-selection-bar-color : #ED1C23;
      }
      paper-tabs {
         background-color : #962E33;
      }
  </style>
  <template>
    <paper-tabs selected="{{selected}}">
        <paper-tab>Choice 1</paper-tab>
        <paper-tab>Choice 2</paper-tab>
    </paper-tabs>
    <!-- some more elements... -->
  </template>
</dom-module>
<script>
   //Module definition here
</script>

但是--paper-tabs-selection-bar-color没有被考虑在内,我最终得到的是默认的黄色而不是鲜红色。

值得注意的是,我使用shadow-dom而不是shady-dom,但切换回阴影实现并没有改变任何东西。我还使用主题文件作为html导入来设置--default-primary-color和排序的其他自定义属性。这些似乎在:root{ } css属性中有效,但即使我将--paper-tabs-selection-bar-color : #ED1C23;置于其中也不起作用。

我尝试使用paper-input-controller,但样式也没有应用。知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

我使用导入外部样式表,如:

<dom-module id="ts-dashboard">
  <link rel="import" type="css" href="ts-dashboard.css">
  <template>
    <paper-tabs selected="{{selected}}">
        <paper-tab>Choice 1</paper-tab>
        <paper-tab>Choice 2</paper-tab>
    </paper-tabs>
    <!-- some more elements... -->
  </template>
</dom-module>
<script>
   //Module definition here
</script>

然后这应该有效:

paper-tabs {
    --paper-tabs-selection-bar-color: #ED1C23;
}

(更新:刚刚意识到我粘贴了那个错误。修复了我的外部CSS文件中的内容)