在聚合物3中导入外部样式表

时间:2018-05-27 03:36:22

标签: polymer polymer-3.x

有没有办法导入只影响影子DOM的外部css文件?我正在使用sass并自动创建css文件,因此任何使用javascript导入的技巧都无法完成。

现在,我所拥有的是:

 <dom-module id="my-app">
   <link rel="stylesheet" href="style.css">
   <template></template>
 </dom-module>

在Polymer 2中,可以执行以下操作:

getUser

聚合物3是否有同样的方法?

3 个答案:

答案 0 :(得分:3)

您可以在html-tag中使用变量,如下所示:

import { htmlLiteral } from '@polymer/polymer/lib/utils/html-tag.js';

import myCSS from "style.css";
let myCSSLiteral = htmlLiteral(myCSS);
...
class MyElement extends PolymerElement {
  static get template() {
    return html`<style>${myCSSLiteral}</style>...`;
    ...
  }
  ...
}

请注意:您必须将变量从字符串转换为htmlLiteral,才能在html-tag中使用它,尽管我不知道为什么Polymer不直接支持原始字符串变量。祝你好运!

答案 1 :(得分:1)

这对我来说很棒!

return html`
      <link rel="stylesheet" href="//cdn.jsdelivr.net/chartist.js/latest/chartist.min.css">
      <style>

/* I had to put !important to override the css imported above. */
      </style>

      <divclass="blablabla"></div>
    `;

答案 2 :(得分:1)

此处聚合物3官方文档提供了最新方法。 ctrl + f并搜索Share styles between elements click here