我想知道是否有可能利用令人敬畏的字体(或任何其他图标字体)类来创建自定义的<li>列表样式类型?

我目前正在使用jQuery来做这件事,即:

$("li.myClass").prepend("<i class=\"icon-chevron-right\"></i>");

但是,当<li>个文本在页面上换行时,因为它认为图标是文本的一部分,而不是实际的项目符号指示器,所以样式不正确.

有什么建议吗?

推荐答案

CSS Lists and Counters Module Level 3引入了::marker伪元素.据我所知,这样的事情是允许的.Unfortunately, no browser seems to support it

您可以做的是向父ul添加一些填充,并将图标拖到该填充中:

ul {
  list-style: none;
  padding: 0;
}
li {
  padding-left: 1.3em;
}
li:before {
  content: "\f00c"; /* FontAwesome Unicode */
  font-family: FontAwesome;
  display: inline-block;
  margin-left: -1.3em; /* same as padding-left set on li */
  width: 1.3em; /* same as padding-left set on li */
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<ul>
  <li>Item one</li>
  <li>Item two</li>
</ul>

根据您的喜好调整填充/font-size/等,仅此而已.

您可以也应该将间隔单位放在CSS变量中,而不是在整个代码中重复它.

=====

这适用于任何类型的图标字体.然而,FontAwesom提供了他们自己的方法来处理这个"问题".有关更多细节,请查看下面Darrrrren的答案.

Css相关问答推荐

Astro网站在使用Astro Build构建后无法正常工作

靴子,为什么我不能让任何东西正确地排好队?

如果 css 仅位于 razor 页面中的一页上,我是否仍应在 wwwroot 中写入或仅将其放在页面上?

如何将动态参数从react tsx文件发送到css

Next.js 条件样式

为什么我的 CSS 转换在 React 18 中不起作用

css ::part 伪 Select 器 Chrome 兼容性?

使用 node-sass 在压缩文件末尾添加 min.css 文件扩展名

如何使用 TailwindCSS 水平设置输入和按钮

对 CSS 容器查询使用多个条件

css渐变实现2色虚线边框

当我进入登录页面时,它处于桌面模式(响应式设计消失)

在 RC.1 中,某些样式无法使用绑定语法添加

我应该使用 CSS :disabled 伪类还是 [disabled] 属性 Select 器,还是见仁见智?

在 IE9-10 中压缩 SVG 的背景大小

位置元素垂直固定,绝对水平

让 div 占据 100% 身体高度,减go 固定高度的页眉和页脚

为什么在 CSS3 中启用硬件加速会降低性能?

如何将文本向左旋转 90 度并根据 html 中的文本调整单元格大小

仅针对使用的类优化 Font Awesome