回到另一个聚合物问题,我有一个我正在尝试设计的Polymer / Electron应用程序.
我想创建一个theme.css,其中包含一个主机块,其中包含我的整个主题,然后我可以将其导入到我的模块样式表中,但我尝试了一些不同的东西,并尝试在文档中找到任何内容都无济于事.
到目前为止,我已经尝试过了< template>定义:
< link rel =“stylesheet”href =“./ account-list.css”>用@import
< style> @import’my-theme.css’;< / style>就在我的< link>之上
:root而不是:host.css中的host
但似乎都没有用,theme.css肯定是被要求但对模块的风格没有影响.
无论如何有聚合物这样的主题,我真的不想有一个构建步骤.
解决方法
在Polymer 1.1中引入了一个名为样式模块的新概念(实际上是场景背后的dom-module元素)(读取它为
here),旧的包含外部样式表的方法已被弃用(请阅读
here).
基本上,您需要创建一个html文件,就像您通常创建一个元素来存储样式一样. id定义了稍后将引用的此文件的名称.
<!-- shared-styles.html --> <dom-module id="shared-styles"> <template> <style> .red { color: red; } </style> </template> </dom-module>
<link rel="import" href="shared-styles.html">
现在,有两种情况.
>如果您在文档级别使用自定义样式,则需要
包括你之前定义的样式模块,如下所示 –
< style is =“custom-style”include =“shared-styles”>< / style>
>如果您只想将样式模块包含在其中一个内
元素,做到这一点 –
< dom-module id =“my-element”>
< style include =“shared-styles”>< / style>
看看这个演示两种场景的plunker.
请记住,在您的特定示例中,由于您正在使用:host,我假设您将使用方案2.因此,此plunker应该更清晰一些.