使用Font Awesome图标作为项目符号点,具有单个列表项元素

Bar*_*vet 119 css font-awesome

我们希望能够使用Font Awesome(http://fortawesome.github.com/Font-Awesome/)图标作为CMS中无序列表的项目符号.

CMS上的文本编辑器仅输出原始HTML,因此无法添加其他元素/类.

这意味着当标记显示如下时显示图标:

<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如果Font Awesome需要一个不同的font-family属性,那么我可以看到第一个问题,这需要一个单独的元素.

这可能使用纯CSS吗?或者我是否必须使用类似jQuery的东西将元素追加到每个列表项的开头?

我意识到我们可以使用背景图像的后退,但如果可能的话,使用Font Awesome会很棒.

小智 232

解:

http://jsfiddle.net/VR2hP/

ul li:before {    
    font-family: 'FontAwesome';
    content: '\f067';
    margin:0 5px 0 -15px;
    color: #f00;
}
Run Code Online (Sandbox Code Playgroud)

这是一篇博客文章,深入介绍了这项技术.

  • 您需要包含此项以删除默认项目符号`ul {list-style-type:none; }` (23认同)
  • 这些字体很棒的图标到css值的有用翻译列表如下:http://astronautweb.co/snippet/font-awesome/ (18认同)
  • 很不错,我建议排队的事情了更好的唯一的事情就是用`保证金:0 0.2em 0 -1.2em;`只是增加/减少同样的两个值以获得所需的间距.如果使用与字体不正确对应的固定像素值,您会发现多行列表项目存在差异. (6认同)

lol*_*lol 145

新的fontawesome(版本4.0.3)使这很容易做到.我们只使用以下类:

<ul class="fa-ul">
  <li><i class="fa-li fa fa-check-square"></i>List icons (like these)</li>
  <li><i class="fa-li fa fa-check-square"></i>can be used</li>
  <li><i class="fa-li fa fa-spinner fa-spin"></i>to replace</li>
  <li><i class="fa-li fa fa-square"></i>default bullets in lists</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

根据这个(新)网址:http://fontawesome.io/examples/#list

  • 我不同意,这个问题要求在纯CSS中使用单个列表的解决方案.这使用了额外的HTML以及类.虽然这绝对是FA文档指定执行此操作的方式,但从技术上讲,它不是问题的解决方案,如果您希望在不修改HTML输出的情况下执行此操作,则无效. (21认同)
  • 这应该是正确的答案,使用新的fa版本.做得很好,谢谢你的解释. (12认同)
  • 此方法不适用于换行到多行的列表元素,因为附加行上的标识不会扩展以包括图标的宽度。 (2认同)
  • 可能值得添加,使用FA 4.3(可能还有其他版本)和Bootstrap 3,`ul`和`li`项需要设置`position:relative`,因为`fa-li`项位于绝对位置.否则,它们都将浮动到左上角. (2认同)

Rya*_*yan 11

我想建立上面的一些答案,并在其他地方给出,并建议使用绝对定位以及:之前的伪类.上面的很多例子(以及类似的问题)都在使用自定义HTML标记,包括Font Awesome的处理方法.这违背了原始问题,并非绝对必要.

在这里演示

ul {
  list-style-type: none;
  padding-left: 20px;
}

li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px
}

li:before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: FontAwesome;
  content: "\f058";
  color: green;
}
Run Code Online (Sandbox Code Playgroud)

基本上就是这样.您可以在Font Awesome备忘单上获取用于CSS内容的ISO值.只需使用前缀为反斜杠的最后4个字母数字.因此[&#xf058;]变得\f058