2016-05-10 76 views
2

我使用聚合物,我認爲這是一個但是我不完全確定。css特異性和聚合物中的css變異體

在我的主文檔我有這樣的:

<style is="custom-style"> 
     :root { 
     --child-element-bg: #000; 
     --child-element-mixin: { 
       border: 10px solid #f30; 
     }; 
    } 
</style> 

<parent-element> 
    <child-element></child-element> 
</parent-element> 

我的子元素裏面我有這種風格的塊

<style> 
    :host { 
     background-color: var(--child-element-bg, --some-other-default); 
     @apply(--child-element-mixin); 
    } 
</style> 

一切都很正常。然而,在我的父母元素我有:

<style> 
    :host { 
     --child-element-bg: #f30; 
     --child-element-mixin: { 
       border: 5px solid #000; 
     }; 
    } 
</style> 

我的孩子元素獲取5px固體#000,但不是#f30背景顏色。

我做錯了什麼?這是一個已知的錯誤?

+0

我開始認爲這是不可行的?有人可以確認嗎?有沒有辦法覆蓋一個變量設置:特定元素內的自定義樣式的根? – dan

回答

0

這不是一個錯誤。這就是Polymer如何實現其css變量。

+0

所以沒有辦法解決這個問題? – cdomination

+0

據我現在可以告訴你:根變量會贏。我忘記了我已經發布了這個問題,所以我不記得我在哪裏找到它,但如果我沒有弄錯,它是一個性能問題,讓它的行爲正常。所以限制是:根 – dan