11

我正在尝试实现一个使用 mjml 字体的电子邮件模板,我不知道该怎么做。我尝试使用如下 CDN:

  <mj-head>
    <mj-title>Thank you!</mj-title>
    <mj-style>
      <mj-include path="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"/>

    </mj-style>
    <mj-attributes>
      ...
    </mj-attributes>
  </mj-head>

...
  <mj-text align="center">
        <h3>              
                 Share <i class="fab fa-facebook-f"></i> 
        </h3>
  </mj-text>
...

但是,这不起作用。谁能告诉我如何最好地做到这一点?

4

3 回答 3

4

首先,您需要包含字体。

<mjml>
  <mj-head>
    <mj-font name="FontAwesome" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"/>
  </mj-head>
</mjml>

在此之后,您需要找到您希望使用的字体的 unicode 编号。如果您拉起星形图标页面,您可以看到它是f005.

现在您可以使用mj-text标签来包含字体。

<mj-text font-family="FontAwesome">&#xf005;</mj-text>

这适用于实体图标。fas类图标之间的区别在于farfas的重量为 900 和far重量为 400。但是,在我的测试中更改font-weight并没有产生任何不同的结果。我确实发现我可以far使用 f006 获得星形图标的版本。我检查了其他图标,但将 unicode 数字加一的简单行为不起作用。我发现获得 Font Awesome 上未列出的图标的 unicode 等效项的最佳方法是使用类似的东西在普通网页中呈现它,<i class="far fa-star"></i>"然后将图标复制并粘贴到http://unicode.scarfboy.com/

于 2019-10-30T21:01:35.500 回答
0

其他答案对我没有帮助。无论如何,不​​要将 Font Awesome作为字体包含在内,您可以将其作为 CSS 包含在<mj-style>并使用<i>标签而不是<mj-text> 那样

<mjml>
    <mj-head>
        <mj-style>
            @import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css";
        </mj-style>
    </mj-head>
    <mj-body>
        <mj-section>
            <mj-column>
                <mj-text>
                    follow the link
                    <i class="fas fa-external-link-alt"></i>                    
                </mj-text>
            </mj-column>
        </mj-section>
    </mj-body>
</mjml>

您可以通过此演示查看它的实际效果

于 2021-08-06T08:04:19.277 回答
0

我需要 mjml 中的简单线条图标 -对上述问题的回答对我非常有帮助。我不妨分享一下Simple Line Icons的详细信息。

将字体包含在mj-head

<mjml>
  <mj-head>
    <mj-font name="simple-line-icons" href="https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css" />
  </mj-head>
</mjml>

然后使用mj-text引用字体的标签:

<mj-text font-family="simple-line-icons">&#xe05c;</mj-text>

或者,如果我必须使用一些原始 HTML:

<mj-raw>
  <div style="font-family:simple-line-icons">&#xe05c;</div>
</mj-raw>
于 2021-02-09T22:56:11.177 回答