Du bist hier: Startseite > WebWissen > CSS > Überschriften mit CSS hochzählen
Folge mir bei Twitter...

und bleibe auf dem Laufenden, was die Themen SEO und Webentwicklung angeht!

Samstag, 27. Juni 2009 um 13:01 Uhr

Überschriften mit CSS hochzählen

Der Artikel erklärt, wie man mit Hilfe von CSS Generated Content gleiche Elemente hochzählen kann.

Problem

Folgendes Problem soll gelöst werden: Man hat auf seiner Seite z. B. mehrere h1-Überschriften. Nun möchte man sie alle mit einer Nummer versehen. Es soll also statt nur "Überschrift" "1. Überschrift" da stehen. Dies kann man entweder mit Javascript lösen, d. h. man manipuliert das DOM der Seite, nachdem sie fertig geladen ist. Oder man kann das mit Hilfe von CSS Generated Content erreichen.

Lösung

Unser HTML-Code sieht z. B. so aus:

<h1>Überschrift</h1>
<h1>Überschrift</h1>
<h1>Überschrift</h1>

Wir haben also in unserem Beispiel 3 Überschriften der Ebene h1.

Nun können wir per CSS definieren, dass vor jeder Überschrift eine Nummerierung steht. Das geht so:

body { counter-reset:zaehler; }
h1:before { content:counter(zaehler) ". "; counter-increment:zaehler; }

Zuerst setzen wir den Counter auf den Ausgangswert und definieren die Variable zaehler, die eine Referenz auf den Counter ist.

Dann fügen wir mit h1:before neuen Inhalt vor den einzelnen Überschriften ein. Man könnte hier auch nur Überschriften einer bestimmten CSS-Klasse ansprechen. Dann müsste man halt statt h1:before schreiben h1.meine_klasse:before. Statt :before kann man auch :after schreiben, wenn man Inhalt nach dem Element einfügen will.

mit content:counter(zaehler) wird der Inhalt / der Wert des Zählers vor der entsprechenden Überschrift eingefügt und danach noch ein "." . Zuletzt wird der Zähler um eins hochgezählt (counter-increment:zaehler).

Ergebnis

Anmerkung

Wichtig, damit dies auch im IE funktioniert ist das  entsprechende meta-Tag:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

 

Kommentare

Name *
Code   
ChronoComments by Joomla Professional Solutions
Kommentar abgeben

Tags

counter-reset  CSS counter  CSS generated content  CSS generierter Inhalt  

Tweets

Social Bookmarks

Über den Autor

Mein Name ist Axel Scheuering. Während meines Studiums (Wirtschaftsinformatik) habe ich meine Brötchen als Webentwickler verdient. Mmhh lecker Brötchen. Seit ich mit dem Studium fertig bin, arbeite ich hauptberuflich im Bereich Suchmaschinenoptimierung.

2009 habe ich bei der Google Online Marketing Challenge teilgenommen und mich zusammen mit meinem Team gegen über 2.000 Teams aus der gazen Welt durchgesetzt. Wir haben unter den "Final 15" weltweit den 2. Platz erreicht und dafür einen Marketingpreis erhalten :)

Diese Site betreibe ich nicht mehr aktiv weiter. Mein neues Blog findest du unter Methode-Web.de

Inhalte dort sind Webentwicklung, Suchmaschinenoptimierung, das Web allgemein und Literaturtipps.