1
我試着解決以下問題。請參見例如:如何從shadowDOM設計lightDOM風格(不使用:: content)?
定製elements.html
<polymer-element name="ui-nav" class="_row _columned _cols-2 mobile_cols-12" noscript>
<template>
<content></content>
</template>
</polymer-element>
的index.html
<ui-nav>
<div>Привет русским</div>
<div>Контакты</div>
<div>О себе</div>
</ui-nav>
的main.css
._row {display: block;}
._row [class*="_cols-"] {float:left;}
._cols-2 > * {width: 20%;}
...
上面的示例按預期方式工作:適用於所有div
子元素繼承的ui-nav
(使用類)的所有樣式。但是,如果我需要在不同情況下向ui-nav
添加其他類,該怎麼辦?例如
<ui-nav> <!-- case 1 -->
<div>Content</div>
...
</ui-nav>
<ui-nav class="border-green"> <!-- case 2 -->
<div>Another content</div>
...
</ui-nav>
在該示例border-green
將打破的邏輯,因爲它會覆蓋先前的polymer-element
類屬性中定義的預定義的類。我試圖在content
標籤上應用課程,但它不起作用。除了以下形式不工作過:
<polymer-element name="ui-nav" noscript>
<template>
<div class="_row _columned _cols-2 mobile_cols-12">
<content></content>
</div>
</template>
</polymer-element>
因此,如何我可以申請現有的類,如_row _cols-2
到lightDOM的元素,而無需使用::shadow
,::content
等定義其他類/樣式?