微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css – 聚合物@import主题文件:样式中的主机没有影响

回到另一个聚合物问题,我有一个我正在尝试设计的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应该更清晰一些.

原文地址:https://www.jb51.cc/css/217402.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。