2014-07-21 86 views
4

我有一個元素可以擴展另一個元素,並且我無法使用文檔中的the example覆蓋父類的樣式。例如,假設我想風格父元素的讚譽:如何在擴展聚合物元素時覆蓋父類型

<polymer-element name="polymer-cool"> 
    <template> 
    <style> 
     :host #p { 
      color: red; 
     }  
    </style> 
    You are <span id='p'>{{praise}}</span> <content></content>! 
    </template> 
    ... 
</polymer-element> 

,但改變該元素的擴展:

<polymer-element name="polymer-cooler" extends="polymer-cool"> 
    <template> 
    <!-- A shadow element render's the extended 
     element's shadow dom here. --> 
    <style> 
     #p { 
      color: blue; 
     } 
    </style> 
    <shadow></shadow> <!-- "You are cool Matt" --> 
    </template> 
    ... 
</polymer-element> 

您可以在以下的jsfiddle看到,我的天堂無法改變量程#p的顏色。我嘗試了一些其他的東西,如

polymer-cooler #p { 
    color: blue; 
} 

並嘗試把標籤內的樣式,但沒有運氣。希望這是可能的,我只是錯過了一些東西。

http://jsfiddle.net/jamstooks/tpyL9/

回答

4

好吧,這看起來像這樣的作品。我很想得到一些澄清有人在這是否是做到這一點的最好辦法:

<polymer-element name="polymer-cooler" extends="polymer-cool"> 
    <template> 
    <style> 
     { 
      :host::shadow #p 
      color: blue; 
     } 
    </style> 
    <shadow></shadow> 
    </template> 
    ... 
</polymer-element> 

http://jsfiddle.net/jamstooks/tpyL9/4/

編輯:14年7月22日

每註釋從Scott下面,我已經更新上面的代碼從:host /deep/ #p:host::shadow #p

+2

':host :: shadow#p'是首選語法。 '/ deep /'會穿透子元素shadow-dom,這可能不是你想要的。 –

+0

謝謝,斯科特。是的,這絕對不是我想要的,更有意義。 – jamstooks