聚合物2中字体很棒

时间:2018-02-02 22:35:35

标签: font-awesome polymer-2.x

我想使用fontawesome图标。我有以下web组件,但不显示图标:

<link rel="import" href="../../bower_components/polymer/polymer-element.html">
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<dom-module id="mi-icono">
  <template>
    <i class="fas fa-address-card"></i>
    <i class="fas fa-trash-alt"></i>
  </template>

  <script>
    /**
     * @customElement
     * @polymer
     */
    class MiIcono extends Polymer.Element {
      static get is() { return 'mi-icono'; }
      static get properties() {
        return {};
      }
    }

    window.customElements.define(MiIcono.is, MiIcono);
  </script>
</dom-module>

任何人都知道为什么没有显示图标?

2 个答案:

答案 0 :(得分:1)

首先,创建一个样式导入文件:(import.html)

<link rel="import"      href="../../bower_components/polymer/polymer-element.html">
<link rel="stylesheet"  href="css/fa-regular.min.css">

<dom-module id="font-awesome">
  <template>
    <style>
      <!-- TODO: Paste contents of fontawesome-all.css here! -->
      <!-- TODO: Update paths in pasted content to match directory structure -->
      <!-- Would be awesome to use @import here but it doesn't work? -->
    </style>
  </template>
</dom-module>

现在您可以在应用程序中导入文件:

<link rel="import" href="../../lib/fontawesome-5.0.6/import.html">

请确保将导入包含在您要使用图标的任何位置:

<dom-module id="my-super-cool-polymer-app">
  <template>
    <style include="font-awesome">
      <!-- etc -->

答案 1 :(得分:0)

看起来像字体awesome.css被加载到你的元素之外,所以阴影dom然后隐藏i s,这样没有文档级的CSS可以设置它的样式。

在聚合物2和font-awesome 4.7中对我有用的是在dom-module中包含css:

<dom-module id="demo">

<!-- this is deprecated but still works in v2:
https://www.polymer-project.org/2.0/docs/devguide/style-shadow-dom#external-stylesheets-->
<link rel="import" type="css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css">

  <template>
    <i class="fa fa-caret-up"></i>
  </template>

</dom-module>

刚刚测试过并在IE(11 +),FF,Safari 11,Chrome v53-中运行良好,但从Chrome v54开始,插入符号未正确呈现:

font-awesome chrome bug

当主文档中还包含font-awesome.css时,这在Chrome中运行正常吗?!