Font awesome 5 on pseudo elements

前端 未结 8 2029
面向向阳花
面向向阳花 2020-12-07 12:22

In font awesome 4 you could easily apply an icon to a :before/:after element using CSS.

Is the same possible with the new font awesome 5 JS/SVG implementation? As fr

相关标签:
8条回答
  • 2020-12-07 12:56

    Font Awesome 5, all top answers not working in my case as I am using the free version. The correct answer for this is in this question. check your font type (free or pro) then follow:

    Free

    font-family: "Font Awesome 5 Free"
    

    Pro

    font-family: "Font Awesome 5 Pro"
    

    Brands

    font-family: "Font Awesome 5 Brands"
    

    Don't forget that I just used the link tag with path to my CSS file in HTML. No enabling required also didn't import the all.css file to my css file. Now it is working!

    0 讨论(0)
  • 2020-12-07 13:05

    Specifying the proper font-weight seems key to have some of the symbols displayed properly (and not "□□□" instead).

    font-weight has to be:

    • 400 for Regular and Brands symbols
    • 900 for Solid symbols
    • 300 for Light symbols

    I.e. if you use Font-Awesome with CSS + Webfonts, a CSS-only solution is:

    @import url("font-awesome/css/fontawesome-all.min.css"); /* FA CSS import */
    
    /* ... */
    
    .class:before {
        /* >> Symbol you want to use: */
        content: "\f16c";
        /* >> Name of the FA free font (mandatory), e.g.:
                   - 'Font Awesome 5 Free' for Regular and Solid symbols;
                   - 'Font Awesome 5 Pro' for Regular and Solid symbols (Professional License);
                   - 'Font Awesome 5 Brand' for Brands symbols. */
        font-family: 'Font Awesome 5 Free';
        /* >> Weight of the font (mandatory):
                   - 400 for Regular and Brands symbols;
                   - 900 for Solid symbols;
                   - 300 for Light symbols. */
        font-weight: 900;
    
        /* >> Optional styling: */
        display: inline-block;
        /* ... */
    }
    
    0 讨论(0)
  • 2020-12-07 13:06

    My problem disappear when i set this value: font-weight: 900;

    0 讨论(0)
  • 2020-12-07 13:10

    I think its working fine just like this:

    .class:before{
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
    }
    
    0 讨论(0)
  • 2020-12-07 13:11

    You need to enable it (it's disabled by default).

    <script>
      window.FontAwesomeConfig = {
        searchPseudoElements: true
      }
    </script>
    

    Css:

    .class:before{
      display: none;
      content: "\f16c";
      font-family: "Font Awesome 5 Brands";
    }
    

    Other types: Font Awesome 5 + Solid or Regular or Light or Brands

    0 讨论(0)
  • 2020-12-07 13:18

    Use this Link ->: https://use.fontawesome.com/releases/v5.5.0/css/all.css

    CSS
    
    ul li{
        list-style-type: none;
        position: relative;
    }
    
    ul li:before{
      position: absolute;
      color:#ff0000;
      top:0;
      left:-30px;
      font-family: 'Font Awesome 5 Free';
      font-size:1.2em;
      content: "\f105";
      font-weight: 900; /* <-- add this or 400 for other styles */
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
    }
    
    0 讨论(0)
提交回复
热议问题