<li>标签上的FontAwesome替换显示空方块

Elc*_*_91 5 css font-awesome font-awesome-5

尝试使用Font Awesome图标替换列表项标签上的项目符号类型,但我得到一个空方块:

HTML

ul {
  list-style: none;
}

.testitems {
  line-height: 2em;
}

.testitems:before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  margin: 0 5px 0 -15px;
  color: #004d00;
  display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)

CSS

<script src="https://use.fontawesome.com/releases/v5.8.1/js/all.js"></script>
<ul>
  <li class="testitems">List Item 1</li>
  <li class="testitems">List Item 2</li>
  <li class="testitems">List Item 3</li>
  <li class="testitems">List Item 4</li>
  <li class="testitems">List Item 5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我知道字体库正在加载,因为我能够使用<i class="fas fa-check-circle"></i><li class="testitems">List Item 1</li>并正确呈现字体(虽然没有正确设置样式).

Tem*_*fif 9

更新2018年

使用font-awesome(5.5)的最后一个版本,您可以通过添加data-search-pseudo-elements以下内容来启用与JS版本一起使用伪元素:

ul {
  list-style: none;
}

.testitems {
  line-height: 2em;
}

.testitems:before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  display:none; /* We need to hide the pseudo element*/
}
/*target the svg for styling*/
.testitems svg {
  color: blue;
  margin: 0 5px 0 -15px;
}
Run Code Online (Sandbox Code Playgroud)
<script data-search-pseudo-elements src="https://use.fontawesome.com/releases/v5.8.1/js/all.js"></script>
<ul>
  <li class="testitems">List Item 1</li>
  <li class="testitems">List Item 2</li>
  <li class="testitems">List Item 3</li>
  <li class="testitems">List Item 4</li>
  <li class="testitems">List Item 5</li>
</ul>
<i class="fa fa-user"></i>
Run Code Online (Sandbox Code Playgroud)

您可以查看文档以获取更多详细信息:https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements#with-svg-js

在此输入图像描述


老答案

正如您在此问题中看到的那样使用字体棒图标作为项目符号点,使用单个列表项元素您可以使用内容和伪元素轻松设置图标但是需要注意,因为Font Awesome 5正在使用SVG并且这个技巧赢了如果您使用推荐的JS版本,则无效:

ul {
  list-style: none;
}

.testitems {
  line-height: 2em;
}

.testitems:before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  margin: 0 5px 0 -15px;
  color: #004d00;
  display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>
<ul>
  <li class="testitems">List Item 1</li>
  <li class="testitems">List Item 2</li>
  <li class="testitems">List Item 3</li>
  <li class="testitems">List Item 4</li>
  <li class="testitems">List Item 5</li>
</ul>
<i class="fa fa-user"></i>
Run Code Online (Sandbox Code Playgroud)

因此,为了获得您想要的内容,您需要加载包含字体和使用图标的旧方法的CSS版本,并调整字体名称,如下所示:

ul {
  list-style: none;
}

.testitems {
  line-height: 2em;
}

.testitems:before {
  font-family: "Font Awesome\ 5 Free";
  content: "\f058";
  margin: 0 5px 0 -15px;
  color: #004d00;
  display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)
<link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
<ul>
  <li class="testitems">List Item 1</li>
  <li class="testitems">List Item 2</li>
  <li class="testitems">List Item 3</li>
  <li class="testitems">List Item 4</li>
  <li class="testitems">List Item 5</li>
</ul>
<i class="fa fa-user"></i>
Run Code Online (Sandbox Code Playgroud)