首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在react应用程序中为css中的伪元素获取字体令人惊叹的图标

如何在react应用程序中为css中的伪元素获取字体令人惊叹的图标
EN

Stack Overflow用户
提问于 2018-06-04 04:09:28
回答 3查看 6K关注 0票数 5

下面是我的css文件:

代码语言:javascript
复制
@import '~font-awesome/css/font-awesome.min.css';

.btn {
  position: relative;
  text-align: center;
  border-radius: 100% 0 0 100% !important;
  height: 35px;
  width: 35px;
  font-size: 12px !important;
  background-color: white !important;
  color: dodgerblue !important;
  border-color: dodgerblue !important;
  transition: all 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

#add-btn.btn::after {
  position: absolute;
  font-family: 'Font Awesome 5 Free';
  content: '\f101';
  font-size: 15px;
}

这是我的jsx文件。

代码语言:javascript
复制
import React, { Component } from 'react';
import { Card, CardImg, CardText, CardBody, CardTitle, CardSubtitle, Button } from 'reactstrap';
// import 'font-awesome/css//font-awesome.min.css';
import './Books.css';

class BookCard extends Component {
  render() {
    return (
      <div className="BookCard mx-auto">
        <Card>
          <div className="img-container">
            <CardImg src={this.props.book.imageUrl} />
          </div>
          <CardBody>
            <CardTitle>{this.props.book.title}</CardTitle>
            <CardSubtitle className="mb-2">{this.props.book.subtitle}</CardSubtitle>
            <div className="description">
              <CardText>{this.props.book.description}</CardText>
            </div>
            <div className="button-container">
              <Button id="add-btn">Add</Button>
            </div>
          </CardBody>
        </Card>
      </div>
    );
  }
}

export default BookCard;

在上面的css文件中,我想插入一个很棒的字体图标作为id为add-btn的按钮的伪元素。按钮元素的默认类是.btn

在css文件中,我使用这个语法#add-btn.btn::after和这个.btn::after尝试了它。我也尝试过在jsx文件中导入font-awesome.min.css,但是它没有给我这个图标。,它显示的是一个方形的

另外,我还尝试将其导入到index.js文件中

有没有人能帮我。

EN

回答 3

Stack Overflow用户

发布于 2019-04-18 21:08:14

与React无关的

粗体字体,在你输入正确的font-weight之前不会显示出来

问题示例

代码语言:javascript
复制
.test {
  font-size: 5em;
}

.test:after {
  position: absolute;
  font-family: 'Font Awesome 5 Free';
  content: '\f101';
}
代码语言:javascript
复制
<link href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" rel="stylesheet" />
<div class="test"></div>

修复

添加了font-weight: 900;

代码语言:javascript
复制
.test {
  font-size: 5em;
}
.test::after {
  position: absolute;
  font-family: 'Font Awesome 5 Free';
  content: '\f101';
  font-weight: 900;
}
代码语言:javascript
复制
<link href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" rel="stylesheet" />
<div class="test"></div>

票数 2
EN

Stack Overflow用户

发布于 2019-04-18 18:58:44

你可以在css类之前使用font-after,或者在之后使用

尝试此代码:

代码语言:javascript
复制
.class-name:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f1ea";
    position:absolute;
    color:#ccc;
    top:0;
    right:0;
    font-size:25px;
    font-weight:500;
    z-index:-1;
    opacity:0.5;
}

如果无法工作,请确保您已安装了fontawesome库

如何安装?

票数 1
EN

Stack Overflow用户

发布于 2018-07-31 20:25:17

使用SVG作为背景图片:

代码语言:javascript
复制
.angle-after:after {
  display: block;
  content: '';
  background-image: url('../../node_modules/@fortawesome/fontawesome-pro/svgs/light/angle-right.svg');
  background-size: 28px 28px;
  height: 28px;
  width: 28px;
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50670532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档