上記のソリューションはすべて、一部のリストに欠点があります。複数行のアイテム、複数桁のアイテム番号、カスタムの背景などです。
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
を模倣するものです。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
各行で2つのsを使用し、最初の行をtd
空のままにして、アイテムのテキストを2番目の行に配置しますtd
。