你能设置有序列表编号的样式吗?

新手上路,请多包涵

我正在尝试为有序列表中的数字设置样式,我想添加背景颜色、边框半径和颜色,以便它们与我正在使用的设计相匹配:

在此处输入图像描述

我想这是不可能的,我必须为每个数字使用不同的图像,即

ol li:first-child {list-style-image:url('1.png')};
ol li:nth-child(2) {list-style-image:url('2.png');}
etc...

有更简单的解决方案吗?

原文由 Pixelomo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 323
2 个回答

您可以使用 CSS counters 结合 :before 伪元素来做到这一点:

  ol {
   list-style: none;
   counter-reset: item;
 }
 li {
   counter-increment: item;
   margin-bottom: 5px;
 }
 li:before {
   margin-right: 10px;
   content: counter(item);
   background: lightblue;
   border-radius: 100%;
   color: white;
   width: 1.2em;
   text-align: center;
   display: inline-block;
 }
 <ol>
  <li>item</li>
  <li>item</li>
  <li>item</li>
  <li>item</li>
</ol>

原文由 SW4 发布,翻译遵循 CC BY-SA 4.0 许可协议

我正在寻找不同的东西,并在 CodePen 上找到了这个例子;

试试这个: http ://codepen.io/sawmac/pen/txBhK

 body {
  font-size: 1.2em;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  margin: 50px;
}
.custom-counter {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.custom-counter li {
  counter-increment: step-counter;
  margin-bottom: 5px;
}
.custom-counter li::before {
  content: counter(step-counter);
  margin-right: 20px;
  font-size: 80%;
  background-color: rgb(180, 180, 180);
  color: white;
  font-weight: bold;
  padding: 3px 8px;
  border-radius: 11px;
}
 <ol class="custom-counter">
  <li>This is the first item</li>
  <li>This is the second item</li>
  <li>This is the third item</li>
  <li>This is the fourth item</li>
  <li>This is the fifth item</li>
  <li>This is the sixth item</li>
</ol>

原文由 Russ 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题