ArticleCounter in CSS

Das man Counter mit CSS realisieren kann, z.B. zur Nummerierung von Listen oder Überschriften, ist bekannt. Es wird zum Beispiel ausführlich in einem SelfHTML-Artikel beschrieben. Was passiert aber mit der Nummerierung, wenn sich die Reihenfolge durch DOM-Manipulation einmal verändert?

Erst einmal ein kurzes Beispiel für einen solchen Counter. In einem übergeordneten DOM-Element wird ein Counter definiert:

#questListEdit  {
  counter-reset: quest;
}

Dieser Counter hat den Namen ‘quest’ und kann innerhalb des DOM-Elements verwendet werden.

Bei den Elementen, die die Nummerierung bekommen sollen, geben wir den Counter mit einem Punkt aus und erhöhen ihn anschließend:

#questListEdit .questCounter:before {
  content: counter(quest) ". ";
  counter-increment: quest;
}

In meinem Fall habe ich damit eine Liste von Fragen durchnummeriert. Hier mal ein Screenshot davon:

CSS-Counter-Beispiel

Die Reihenfolge dieser Liste kann der Nutzer mit der Maus verändern (wen es interessiert mit JQuery-UI), was natürlich die Nummerierung durcheinanderbringen sollte. Aber auf magische Weise passiert es nicht, d.h. wenn ich “3. Frage” an die erste Stelle schiebe ist es “1. Frage”. Die Browser (Firefox, Chrome und InternetExplorer auf meinem Rechner) aktualisieren den CSS-Counter.

Ich bin begeistert!

Keywords

CSS
Stefan Urbansky
HxCode
Dr.-Ing. Stefan Urbansky

Sie interessieren sich für unsere Leistungen oder wollen ein eigenes Projekt starten?