2016-07-26 81 views
1

我正在迈出聚合物的第一步,而我被困在自定义的CSS属性中。为什么我的Polymer自定义CSS属性不起作用?

my-item元素,我检查了--my-item-color变量,作为默认值分配red

<dom-module id="my-item"> 
    <template> 
    <style> 
     :host { 
     display: inline-block; 
     padding: 5px; 
     } 

     .my-div { 
     background-color: var(--my-item-color, red); 
     display: block; 
     } 
    </style> 
    <div class="my-div"> 
     <content></content> 
    </div> 
    </template> 

    <script> 
    Polymer({ is: "my-item" }); 
    </script> 
</dom-module> 

这些项目是在下面的容器元素,但不知何故,所有my-item S保持存储红色。

<dom-module id="my-container"> 
    <template> 
    <style> 
     :host { 
     --my-item-color: blue; 
     display: flex; 
     flex-direction: row; 
     flex-wrap: wrap; 
     } 
    </style> 
    <content></content> 
    </template> 

    <script> 
    Polymer({ is: "my-container" }); 
    </script> 
</dom-module> 

plunkr:http://plnkr.co/edit/LovSp4VRAGpLadcr87Wz

谁能告诉我什么,我做错了什么?

回答

5

您可以使用native CSS properties from Polymer 1.6.0来允许您的当前代码正常工作。确保通过设置您的Polymer对象的useNativeCSSProperties属性进口polymer.html之前将其启用:

<script> 
    Polymer = { 
    lazyRegister: true, 
    useNativeCSSProperties: true 
    }; 
</script> 
<link rel="import" href="../polymer/polymer.html"> 
<link rel="import" href="../x-element.html"> 

plunker

+0

这能解决问题,仍然不知道为什么它不支持聚合物本身寿 – Sonaryr

+0

不工作在影子dom上,只能在阴影中 –

+0

@AdrianoSpadoni它也适用于Shadow DOM([demo](https://plnkr.co/edit/ffEfQhJfRvAorw7YKbbh?p=preview))。 – tony19

相关问题