如何使用勾选/复选标记符号(✓)而不是无序列表中的项目符号?

Sta*_*ero 55 html css html5 special-characters

我有一个列表,我想在列表文本之前添加刻度符号.是否有任何CSS可以帮助我以这种方式应用?

? this is my text
? this is my text
? this is my text
? this is my text
? this is my text
? this is my text
Run Code Online (Sandbox Code Playgroud)

注意:我想在这种类型的HTML代码中使用它

<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

Jos*_*ier 98

您可以使用伪元素在每个列表项之前插入该字符:

ul {
  list-style: none;
}

ul li:before {
  content: '?';
}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>
Run Code Online (Sandbox Code Playgroud)


Mic*_*l_B 28

您可以使用以下三种不同的复选标记样式:

ul:first-child  li:before { content:"\2713\0020"; }  /* OR */
ul:nth-child(2) li:before { content:"\2714\0020"; }  /* OR */
ul:last-child   li:before { content:"\2611\0020"; }
ul { list-style-type: none; }
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>

<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>

<ul><!-- not working on Stack snippet; check fiddle demo -->
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

参考文献:

  • @DanDascalescu,这个答案通过提供一些人可能不知道的复选标记选项扩展了 Josh Crozier 的解决方案。那是有价值的信息。它们是“设计选择”这一事实并没有使这个答案变得不那么有用。在我看来,你的反对是没有根据的:(1) 答案对很多人有用(并且有近 30 人赞成),(2) 答案不会假装是风格选择以外的任何东西,以及 (3) 我没有试图解决任何其他问题(正如你所说,“无论如何都无关紧要”) (2认同)
  • 人们投票的原因很多。人们投票的理由与您不同。您不同意此答案的内容。您并不是说答案是错误的或过时的(就像您引用的链接中一样),只是您不喜欢它。这对我来说没问题。您有权发表自己的意见。 (2认同)

Hit*_*wat 16

<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

你可以使用这个简单的 css 样式

ul {
     list-style-type: '\2713';
   }
Run Code Online (Sandbox Code Playgroud)

  • Adam 的回答涉及了包装问题,但是需要大量额外的代码......这只是有效的。这个间距对我来说很重要,所以我最后在它的末尾添加了一个额外的 \1\1 来将复选标记与 &lt;li&gt; 隔开。 (2认同)

Ada*_*lov 10

作为解决方案的补充:

ul li:before {
 content: '?'; 
}
Run Code Online (Sandbox Code Playgroud)

您可以使用任何SVG图标作为内容,例如Font Aswesome

在此处输入图片说明

ul li:before {
 content: '?'; 
}
Run Code Online (Sandbox Code Playgroud)
ul {
  list-style: none;
}
li {
  position: relative;
  padding-left: 1.5em;  /* space to preserve indentation on wrap */
}
li:before {
  content: '';  /* placeholder for the SVG */
  position: absolute;
  left: 0;  /* place the SVG at the start of the padding */
  width: 1em;
  height: 1em;
  background: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg width='18' height='18' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'><path d='M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z'/></svg>") no-repeat;
}
Run Code Online (Sandbox Code Playgroud)

注意:要解决其他答案具有的包装问题:

  • 我们在每个左侧保留1.5m ems的空间 <li>
  • 然后将SVG定位在该空间的开头(position: absolute; left: 0

这里有更多的字体真棒黑色图标

检查此CODEPEN,以了解如何添加颜色并更改其大小。


tom*_*yam 9

你也可以使用::marker伪元素来设置列表项的标记。

\n

其允许的 CSS 属性列表有些有限。

\n

截至 2022 年 10 月的浏览器支持率:94%(不支持 IE)

\n

\r\n
\r\n
ul li::marker {\n  content: \'\xe2\x9c\x93\';\n  color: green;\n}
Run Code Online (Sandbox Code Playgroud)\r\n
<ul>\n  <li>this is my text</li>\n  <li>this is my text</li>\n  <li>this is my text</li>\n  <li>this is my text</li>\n  <li>this is my text</li>\n</ul>
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n