我想使用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>
任何人都知道为什么没有显示图标?
答案 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.css时,这在Chrome中运行正常吗?!