2015-06-09 38 views
0

我有一個用一些:主機樣式的應用程序樣式在用Polymer 5.5構建的自定義元素上。現在,我將它轉換爲Polymer 1.0,但碰到這個奇怪的問題::主機樣式沒有效果

使用:host定義的樣式不適用。出於測試目的,我採取了正確的例子從文檔:

<dom-element id="my-element"> 

<style> 
    :host { 
     display: block; 
     border: 1px solid red; 
    } 
    #child-element { 
     background: yellow; 
    } 

</style> 

<template> 
    <div id="child-element">In local DOM!</div> 
    <content></content> 
</template> 

<script> 

    Polymer({ 
     is: 'my-element' 
    }); 

</script> 

</dom-element> 

當我渲染(最新的Chrome),它確實有一個黃色的背景,但沒有一個1px的紅色邊框,它應該有。

任何想法這裏發生了什麼?有沒有JS警告或其他線索......

+0

你似乎缺少收盤'',這應該是後你的結束''。這是你的問題中的拼寫錯誤,還是從你的代碼中遺漏了? – Zikes

+0

我認爲你的意思是'dom-module'。 –

+0

@Zike這是一個錯字,但它並沒有從我的實際代碼中遺漏。我糾正了這個問題。 –

回答

1

您應該使用dom-module代替dom-element

<dom-module id="my-element"> 
    <style> 
     :host { 
      display: block; 
      border: 1px solid red; 
     } 
     #child-element { 
      background: yellow; 
     } 

    </style> 

    <template> 
     <div id="child-element">In local DOM!</div> 
     <content></content> 
    </template> 

    <script> 
     Polymer({ 
      is: 'my-element' 
     }); 
    </script> 
</dom-module> 
+0

Argh ...謝謝,我怎麼會錯過那個... –

+1

正如一個側面說明,