上述解决方案对于某些列表都有缺点:多行项目、多位项目编号、自定义背景等。
使用内置list-item
计数器而不是自定义计数器更清洁:
ol.dotless {
list-style-type: none;
margin-left: 0;
}
ol.dotless > li:before {
content: counter(list-item) "\A0";
float: left;
text-align: right;
width: 1.5em;
}
但是这种方法不适用于多行项目。
有一种新方法可以让您直接格式化计数器,但到目前为止,它只适用于 Firefox:
ol.dotless {
list-style: dotless-item
}
@counter-style dotless-item {
system: numeric;
symbols: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9";
suffix: " ";
}
我遇到的唯一适用于所有情况的方法是table
模仿 a ol
:
table.dotlessol {
margin: 0.25em 1.25em;
border-spacing: 0;
counter-reset: dotless;
}
table.dotlessol tr {
vertical-align: top;
counter-increment: dotless;
}
table.dotlessol td {
padding: 0;
}
table.dotlessol td:first-child {
text-align: right;
padding-right: 0.5em;
}
table.dotlessol td:first-child::before {
content: counter(dotless);
}
td
在每行中使用两个s,将第一个td
留空,并将项目文本放在第二个s 中td
。