简体   繁体   English

如何使用react-fontawesome层

[英]How to use layers with react-fontawesome

Since I am currently using GatsbyJS to build with I figured I'd give react-fontawesome a whirl. 由于我现在正在使用GatsbyJS进行构建,因此我认为我会给出react-fontawesome旋转。 In old react projects I'd used a CDN and fontawesome v4 at the time with stacks to achieve putting one icon inside another and realized in the docs now layers are used in v5. 在旧的反应项目中,我使用CDN和fontawesome v4当时使用堆栈来实现将一个图标放在另一个图标中并在文档中实现现在图层在v5中使用。

However, there does not seem to be anything in react-fontawesome that allows you to use layers in the FontAwesomeIcon component. 但是,似乎没有任何react-fontawesome允许您在FontAwesomeIcon组件中使用图层。

I can't really go back to a CDN since the static.html (which contains the head) in GatsbyJS gets refreshed every time and will get wiped whenever it's reloaded. 我无法回到CDN,因为GatsbyJS中的static.html(包含头部)每次都会刷新,并且每次重新加载都会被擦除。 Similarly, manually importing font awesome files into the JS file I'm using is undesired. 同样,手动将字体真棒文件导入我正在使用的JS文件是不受欢迎的。

Here's a snippet showing what I currently have (obviously the icons and side by side and not one inside another). 这是一个显示我目前所拥有的片段(显然是图标并排,而不是另一个)。

 import React, { Component } from 'react' import FontAwesomeIcon from '@fortawesome/react-fontawesome' import { faChevronDown } from '@fortawesome/fontawesome-free-solid' import { faCircle } from '@fortawesome/fontawesome-free-regular' const IndexPage = () => ( <div> <FontAwesomeIcon icon={faChevronDown} size='lg' /> <FontAwesomeIcon icon={faCircle} size='lg' /> </div> ) export default IndexPage 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> 

This is a short snippet showing what the desired result would have looked like using font awesome v4 regularly with a CDN (non react version) 这是一个简短的片段,显示了使用CDN(非反应版本)定期使用字体awesome v4所需的结果

 <span className="fa-stack fa-lg"> <i className="fa fa-circle-thin fa-stack-2x icon-background" aria-hidden="true"></i> <i className="fa fa-chevron-down fa-stack-1x" aria-hidden="true"></i> </span> 

You can implement it using css classes in wrapping element like this: 你可以在包装元素中使用css类来实现它,如下所示:

<span className="fa-layers fa-fw">
  <FontAwesomeIcon icon={faChevronDown} size='lg' />
  <FontAwesomeIcon icon={faCircle} size='lg' />
</span>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM