Hallo,
Da die counter-Sachen aus CSS nur von Opera umgesetzt werden: theoretisch ja, praktisch nein
Wie würde man das denn schreiben? Nur rein aus Interesse.
Aus Andreas’ Link wirst du mit großer Gewissheit nicht schlau, deshalb zur Verdeutlichung:
ol {list-style-type: none; counter-reset: liste 5; counter-increment: liste -1;}
li:before {content: counter(liste, decimal) ". "; counter-increment: liste;}
list-style-type schaltet die normale Nummerierung vollkommen ab. Über li:before und content wird dann der Wert des Counters »liste« eingefügt. Dieser hat den Startwert 5.
Bedenke, dass der eingefügte Inhalt eine gewöhnliche Inline-Box bildet, als enthielte das li-Element am Anfang z.B. ein span-Element mit der Nummer. Damit ist die Ausrichtung der über Counter und eingefügte Inhalte manuell erzeugten Nummerierung vollkommen anderen Regeln unterworfen als die Standard-Nummerierung.
Bei der Standard-Nummerierung entsteht eine Art Spaltenanzeige, die Nummern liegen rechtsbündig auf einer vertikalen Linie:
1. erste zeile
zweite zeile
...
99. ...
100. ...
...
999. ...
1000. erste zeile
zweite zeile
Mit margin und padding lässt sich bekanntlich die Einrückung und die Abstände ändern (http://www.subotnik.net/style/list-box-test.html).
Bei manueller Nummerierung mit Countern gibt es diesen automatischen Luxus nicht, und dieses Verhalten lässt sich auch schwer emulieren. In CSS 2.0 wäre theoretisch li:before {display:marker} passend gewesen, dies hatte aber nicht einmal Opera umgesetzt, sodass es aus CSS 2.1 hinausflog.
Wenn man also nicht mit einer festen Breite zusammen mit float:left und negativem text-indent usw. arbeitet, erzeugt die manueller Nummerierung mit Countern ein solches Erscheinungsbild:
1. erste zeile
zweite zeile
99. ...
100. ...
...
999. ...
1000. erste zeile
zweite zeile
Siehe auch </archiv/2002/11/t29991/#m162126>.
Mathias