- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
经过一些研究,包括阅读 Font Awesome 5 with Angular , documentation等我无法推进 Angular 5 App 和 Font-Awesome 5 (Pro) 之间的集成。
问题:图标不显示。
有关我当前场景的更多详细信息:
package.json:
(...)
"dependencies": {
"@angular/animations": "^5.2.4",
"@angular/common": "^5.2.4",
"@angular/compiler": "^5.2.4",
"@angular/core": "^5.2.4",
"@angular/forms": "^5.2.4",
"@angular/http": "^5.2.4",
"@angular/platform-browser": "^5.2.4",
"@angular/platform-browser-dynamic": "^5.2.4",
"@angular/router": "^5.2.4",
"@fortawesome/fontawesome": "^1.1.3",
"@fortawesome/fontawesome-pro-light": "^5.0.6",
"bootstrap": "^4.0.0",
"classlist.js": "^1.1.20150312",
"core-js": "^2.5.3",
"jquery": "^3.3.1",
"jquery-ui": "^1.12.1",
"popper.js": "^1.12.9",
"prismjs": "^1.11.0",
"rxjs": "^5.5.6",
"summernote": "^0.8.9",
"sweetalert2": "^7.11.0",
"web-animations-js": "^2.3.1",
"zone.js": "^0.8.20"
},
"devDependencies": {
"@angular/cli": "^1.7.0-rc.0",
"@angular/compiler-cli": "^5.2.4",
"@angular/language-service": "^5.2.4",
"@types/jasmine": "^2.8.6",
"@types/jasminewd2": "^2.0.3",
"@types/node": "^9.4.5",
"codelyzer": "^4.1.0",
"jasmine-core": "^2.99.1",
"jasmine-spec-reporter": "^4.2.1",
"karma": "^2.0.0",
"karma-chrome-launcher": "^2.2.0",
"karma-cli": "^1.0.1",
"karma-coverage-istanbul-reporter": "^1.4.1",
"karma-jasmine": "^1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "^5.3.0",
"ts-node": "^4.1.0",
"tslint": "^5.9.1",
"typescript": "^2.7.1"
}
(...)
angular-cli.json
(...)
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/popper.js/dist/umd/popper.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js",
"../node_modules/jquery-ui/ui/data.js",
"../node_modules/jquery-ui/ui/disable-selection.js",
"../node_modules/jquery-ui/ui/scroll-parent.js",
"../node_modules/jquery-ui/ui/widget.js",
"../node_modules/jquery-ui/ui/widgets/mouse.js",
"../node_modules/jquery-ui/ui/widgets/sortable.js",
"../node_modules/sweetalert2/dist/sweetalert2.min.js",
"../node_modules/summernote/dist/summernote.min.js",
"../node_modules/@fortawesome/fontawesome/index.js (tried with and without this file)"
], (...)
在我的研究过程中,我了解到我需要指定我需要使用什么(图标),如下所示:
import {faChevronLeft, faChevronRight} from '@fortawesome/fontawesome-free-solid';
import fontawesome from '@fortawesome/fontawesome';
然后我需要将这些图标传递给 fontawesome 对象:
fontawesome.library.add(faChevronLeft, faChevronRight);
最后我发现(在 font-awesome documentation 中我需要调用 i2svg 方法来负责让奇迹发生:
fontawesome.dom.i2svg();
文档说我必须调用不带参数的方法。但编译器将我指向另一个方向,我必须告知以下数据:
export interface DOM {
i2svg(params: { node: Node; callback: () => void }): void;
css(): string;
insertCss(): string;
}
到目前为止,我所取得的最大成果是由 font-awesome 在浏览器中生成的日志,并在此代码后包含以下信息“fontawesome.dom.i2svg()”:
fontawesome.dom.i2svg({ node: document.body, callback: callbacki2Svr });
function callbacki2Svr() { }
我已经尝试了很多(null 导致“Uncaught TypeError: Cannot read property 'querySelectorAll' of null”),现在我无法前进。有人有建议吗?
安装:
1) 按照 use node js 上的说明进行操作([TOKEN] 是我从购买中收到的 key ):
npm i --save @fortawesome/fontawesome
npm config set @fortawesome:registry https://npm.fontawesome.com/[TOKEN]
Created a .npmrc file in the root of my project with the following content:
@fortawesome:registry=https://npm.fontawesome.com/[TOKEN]
npm i --save @fortawesome/fontawesome-pro-light
2) 更新了 Angular-cli3) 使用 (ng b -aot) 重建应用程序4)启动项目。
提前谢谢您!
HTML 代码示例登录页面(无“i”标签)
<div class="login-page">
<div class="wrapper-login">
<img src="assets/image/logo/horizontal-bew.svg" />
<raptor-textbox #txtUser type="text" iconClass="fa fa-user-o" iconPosition="right" placeholder="Login"
[(value)]="userName" (onKeyUp)="updateUserName($event)" (onEnterPressed)="userKeyEnter()"></raptor-textbox>
<raptor-textbox #txtPwd type="password" iconClass="fa fa-key" iconPosition="right" placeholder="Senha"
[value]="pwd" (onKeyUp)="updatePwd($event)" (onEnterPressed)="pwdKeyEnter()"></raptor-textbox>
<raptor-button cssClass="btn btn-light btn-block" text="Entrar" (click)="authenticate()"></raptor-button>
<a [attr.href]="'#loginModal'" data-toggle="modal" [attr.data-target]="'#loginModal'">Forgot Password</a>
</div>
</div>
<raptor-modal title="Forgot Password"
icon="fa fa-envelope-o"
cssClass="fade"
classModal="modal-dialog modal-dialog-centered"
modalId="loginModal"
(onSavedClicked)="saveForm($event)"
(onCancelClicked)="cancelModal($event)">
<div class="row">
<div class="form-group col-12">
<label>Email</label>
<raptor-textbox type="email" typeValue="email" applyValidation="true" applyMask="true" icon="fa fa-envelope" iconPosition="right" placeholder="E-mail..."></raptor-textbox>
</div>
</div>
</raptor-modal>
Raptor 按钮(带有“i”标签)
<button type="button" [class]="cssClass" (click)="click()" [attr.data-target]="dataTarget" [attr.disabled]="isDisabled ?'' : null">
<i *ngIf="hasIcon()" class="{{ icon }}"></i><span>{{ text }}</span>
</button>
/**
* verify if icon was defined
* @hasIcon
*
*/
public hasIcon() {
return this.icon && this.icon.length > 0;
}
最佳答案
我们正在开发官方 Angular 组件(目前处于预发布状态)https://github.com/FortAwesome/angular-fontawesome
但是,@daniel-santana 告诉我们,这不可能集成到他们的大型应用程序中。
所以我能给你的最好建议是不要使用 SVG 和 JS 方法。它使用了 requestAnimationFrame 和 MutationObservers 等高级功能,但这些功能与 Angular 配合不佳。如果您无法重构您的应用程序以使用新的 SVG 格式(这是 Font Awesome 5 中的新格式),请坚持使用 Web Fonts 。版本 5 的网络字体的工作方式与版本 4 中的网络字体类似。升级到版本 5 将涉及更改任何已重命名的图标的名称。我们有详细docs here .
关于Angular 5 与 Font Awesome 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48758470/
我一直在用awesome在 ubuntu 14.04 上一段时间。 rc.lua 中定义的默认布局是: layouts = { awful.layout.suit.floating,
Font Awesome 4.0是对 Font Awesome 从头开始的完全重写。主要的新功能之一是图标现在具有命名空间。除了命名空间之外,图标还使用基于一致性和可预测性的新命名约定。不幸的是,
我有一个带有Bootsrap 4(SASS)和Font Awesome 5的MVC项目。我正在尝试使旋转的图标可以与Ajax加载面板一起使用,但是它不起作用。 Test Spin
似乎 font-awesome 支持自定义图标,并附有详细说明如何创建和提交您自己的图标,但该信息在他们的网站上不再可用。这是否意味着不再支持此功能并且您只能请求由 font-awesome 团队完成
我正在寻找一种让应用程序使用自己的全屏模式但不调整自己的窗口大小的方法。 例如,我想在全屏模式下在网络浏览器上观看视频,以隐藏除视频之外的浏览器/网站的所有其他栏/内容,但我想保留我的显示布局以同时查
如何设置行中显示的图标之间的间距?这是我的代码: 这些图标暂时太靠近了。 最佳答案 只需像其他任何操作一样设置边距即可。纯CSS。 关于font-awesome - Font A
当使用出色的 Font Awesome 时,如何使图标不透明 - 例如,如果我想使用 http://fortawesome.github.io/Font-Awesome/icon/chevron-ci
我正在尝试在 http://fortawesome.github.io/Font-Awesome/examples/ 更改 fontawesome 星级评分中前两颗星的颜色 我已经为第一个和第二个跨度
你好, 我正在努力将 Font Awesome 添加到我的网站。 在 Font Awesome github 页面上,它简单地说: “安装 FontAwesome.otf 并访问复制和粘贴页面。快乐设
我们正在使用和添加/删除某些 js 事件的 fa-spin。在 3x 下很容易看到的问题是齿轮不围绕固定轴旋转。我怀疑这是因为图标本身 (SVG) 被 Chrome 报告为 42 x 49 像素,即使
你好, 尝试使用 Lighthouse 解决 Font Awesome 图标/元素的可识别名称的审计点我不知道如何回答这个挑战:如何使 Font Awesome 元素具有可识别的名称? actual
我正在尝试自定义我的 Ubuntu 在我的两台电脑上使用 i3-wm , 多边形和 zsh (带有 oh-my-zsh 在其上) 我在我的一台计算机上遇到了一些问题,我在另一台上没有,尽管以相同的方式
如何配置真棒,所以它会启动新的应用程序,两个窗口对齐,如下所示: ---------------- |xxxxxxxxxx####| |xxxxxxxxxx####| |xxxxxxxxxx####|
我已阅读 Setting windows layout for a specific application in awesome-wm .现在我想在自动启动期间在特定标签下执行此操作。 例如: I
减小 Font Awesome 图标大小的最佳方法是什么。有一个 fa-3x 等等……来增加尺寸。有没有减少尺寸的类(class)? 最佳答案 Font-Awesome 图标,顾名思义,是基于字体的。
我会使用 Font Awesome 中的几个图标。 我发现我们可以下载整个 font-awesome 目录并使用简单的代码,如 并使用fa-camera-retro显示图标。 我可以只下载我将使用的字
在 font Awesome 4 中,您可以使用 CSS 轻松地将图标应用到 :before/:after 元素。 新的 font Awesome 5 JS/SVG 实现是否可以实现同样的效果?据我所
我刚开始在 Awesome 中为 rc.lua 做自定义 lua,我在想出如何根据鼠标位置启动某些东西时遇到了一些麻烦。到目前为止,这就是我所拥有的,但它没有做任何事情。 -- Open todo w
我正在运行我的 NodeJS 服务器并在 localhost:3000 上测试它。一切正常,但字体超棒的图标显示时好像字体文件丢失了。它在 Firefox 和 Chrome 中做同样的事情。 (我什至
我使用了 codeigniter 和 Font Awesome 5 我已经下载了 font awesome 5 的最新版本,但由于某种原因我的图标没有显示出来 Question How to get
我是一名优秀的程序员,十分优秀!