Automatische Numerierung



  • Und noch eine Frage zur Textformatierung in HTML: Kann man eine automatische Numerierung einbauen? Daß im Browser beim ersten Aufkommen von <h1> ein 1. vor die Überschrift geschrieben wird und beim zweiten Aufkommen ein 2. Und wenn danach ein <h2> kommt, soll dort 2.1. stehen etc.
    Das ganze muß nicht vollautomatisch sein. Es würde auch reichen, wenn sowas hier ginge:

    <h1 class="numerierung">&Uuml;berschrift</h1>
    

    So daß die Numerierung also nur da erscheint, wo ich es festlege, aber die einzelnen Zahlen trotzdem automatisch ermittelt werden.



  • Da brauchst du eine serverseitige Sprache, die dir das entsprechend formatiert, oder du machst es per Hand (sprich: hartkodiert). In HTML jedenfalls ist das nicht Möglich; und schon gar nicht verschachtelt 😉



  • In HTML ist das möglich, sogar verschachtelt und automatisch 😉

    Stichwort für Selfhtml: <ol> und <li> 😉



  • Es war nun aber danach gefragt, die Nummerierung auf ein beliebiges Element per CSS zu "setzen" (in dem Fall sogar h1 für einzelne Punkte und h2 für Unterpunkte), und das geht mit HTML definitiv nicht 😉

    Abgesehen davon ist auch eine Verschachtelung (womit ich Gesamtnummerierung im Sinne des Threadstarters meine und meinte) nicht möglich. Das meint nicht nur SelfHTML, sondern scheint mir auch recht praktisch so zu sein.

    ( http://de.selfhtml.org/html/text/listen.htm : "Verschachteln von nummerierten Listen ist ebenfalls möglich, bewirkt aber keine Gesamtnummerierung. Automatische Nummerierungshierarchien wie 1, 1.1, 1.1.1, sind mit HTML alleine nicht möglich.")

    <ol>
    	<li>Möt</li>
        <li>Möt
        	<ol>
            	<li>Möt</li>
            </ol>
        </li>
        <li>Möt</li>
    </ol>
    

    Das ergibt bei mir

    1. Möt
    2. Möt
      1. Möt
    3. Möt
    

    Und nicht

    1. Möt
    2. Möt
      2.1. Möt
    3. Möt
    

    Willst du eine Gesamtnummerierung für die einzelnen Verschachtelungsstufen, musst du es also in der Tat mit einer serverseitigen Sprache lösen - oder eben per Hand 😉



  • Das kann man sehr wohl auch clientseitig lösen. Zum Beispiel mit XSLT, was man aber eher nicht beim Client einsetzen sollte, oder auch mit JavaScript. Vor allem aber würde es sogar mit CSS gehen - nur beherrscht leider der Internet Explorer natürlich nicht die dafür notwendigen CSS-Eigenschaften. Wem der IE egal ist, der kann es also auch mit CSS lösen. Und alle änderen müssen es serverseitig oder eben mit JavaScript lösen.


Anmelden zum Antworten